一、使用可视化设计窗体的GUI程序
1、QT Creator的基本操作
2、将ui文件编写成py文件
在cmd窗口内输入指令
C:Users13788>cd C:Users13788DesktopC:Users13788Desktop>pyuic5 -o ui_dialog.py dialog.ui
我将ui文件放在了桌面上,电脑要将添加到系统的PATH环境变量之中才能执行转换。
3、通过继承关系来实行界面与逻辑的分离
这里边有三种情况:
import ui_dialog
app = QApplication(sys.argv)
#QApplication代表一个应用程序,在窗口的实例前完成
deme = QWidget() #创建一个实例
ui = Ui_dialog() #创建一个ui类的实例
ui.setup_UI(demo) #用实例中的函数初始化demo
demo.show() #界面输出
_())
在ui文件中只是设置了各种组件的内容,本身并不能作为一个承载内容输出,所以在输出中不使用ui.show(),需要通过一个父容器即其中的demo才行。
在这种情况下,不能通过实例demo来修改界面中的标签,需要通过ui来更改。
class QmyWidget(QWidget, Ui_dialog): #继承QWidget和Ui_dialogdef __init__(self, parent =None):super().__init__(parent)#多继承时使用super()得到第一个基类,此时self就是一个QWidget的对象self.lab ="多重继承的QmyWidget"self.setupUI(self)#调用setupUI使self自身被初始化self.LabHello.setText(self.lab)#ui中的界面组件就成为公共属性,可以通过self直接改变UI中的值
缺点:过于开放,不符合面对对象严格封装的设计思想;ui中的属性和类中新定义的属性混合在一起
class QmyWidget(QWidget): def __init__(self, parent =None):super().__init__(parent)self.lab ="单继承的QmyWidget"self.__ui =Ui_dialog()#在类中定义一个ui的对象作为成员self.__ui.setupUI(self)self.__ui.LabHello.setText(self.lab)#区别与多继承时直接用self调用,多了一个_ui作为分别的标志#根据Python命名规则,两个下划线表示是私有的
窃以为就是写上更加的麻烦了。
4、信号与槽的使用
tSlotsByName(Dialog)
qt creator 通过这句话即使在mydialog类的引用中不继承ui也能在不写代码的情况下使槽函数和信号结合。但是只有在UI设计界面自动生成的槽函数框架才有用。
echo off
pyuic5 -o ui_Dialog.py Dialog.ui
这之后点击一下就可以用了
学习资料来自《Python Qt CUI与数据可视化编程》
本文发布于:2024-01-29 00:27:56,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170645928111402.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |