admin管理员组

文章数量:1130349

文章目录

  • 前言
  • 1 提升控件
  • 2 转化.ui文件为.py文件

前言

奇奇怪怪!,虽然和我想象不一样但是还是记录一下吧!本来我以为是在QDesigner左边能显示控件可以实时拖拽,但是谁知道实际是在.ui文件中相当于一个占位符一样理解! 转化为.py文件加载了自定义的控件类(就是类似占位替换的感觉),果然python 用QDesigner太鸡肋,有这个时间拖来拖去,代码码UI都完了!!!

1 提升控件

打开QDesigner,创建一个QWidget,在上面拖2个QFrame,给QWidget创建一个水平布局,如下:

选择一个frame右击提升窗口部件,最后点击提升,如下:

提升为自定义类:


其中BoardFrame为自定义的一个控件,BoardFrame继承于QFrame.
BoardFrame.py代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import pyqtSignal,Qt,QRegExp
from PyQt5.QtGui import QRegExpValidator
import sys

class BoardFrame(QFrame):
    def __init__(self, *argc, **argv):
        super(BoardFrame, self).__init__(*argc, **argv)
        self.setFixedSize(200,500)
        self.mainlayout = QVBoxLayout(self)
        self.name = QLabel("名字")
        self

文章目录

  • 前言
  • 1 提升控件
  • 2 转化.ui文件为.py文件

前言

奇奇怪怪!,虽然和我想象不一样但是还是记录一下吧!本来我以为是在QDesigner左边能显示控件可以实时拖拽,但是谁知道实际是在.ui文件中相当于一个占位符一样理解! 转化为.py文件加载了自定义的控件类(就是类似占位替换的感觉),果然python 用QDesigner太鸡肋,有这个时间拖来拖去,代码码UI都完了!!!

1 提升控件

打开QDesigner,创建一个QWidget,在上面拖2个QFrame,给QWidget创建一个水平布局,如下:

选择一个frame右击提升窗口部件,最后点击提升,如下:

提升为自定义类:


其中BoardFrame为自定义的一个控件,BoardFrame继承于QFrame.
BoardFrame.py代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import pyqtSignal,Qt,QRegExp
from PyQt5.QtGui import QRegExpValidator
import sys

class BoardFrame(QFrame):
    def __init__(self, *argc, **argv):
        super(BoardFrame, self).__init__(*argc, **argv)
        self.setFixedSize(200,500)
        self.mainlayout = QVBoxLayout(self)
        self.name = QLabel("名字")
        self

本文标签: 自定义控件qtdesigner