python与QT联合的详细步骤记录
一、文章简介
python适合做一些后台处理的相关任务、但再实际应用过程中往往需要搭配一个GUI图形化界面共同使用。在python中含有pyqt库,通过pyqt库的调用可以实现GUI界面的功能,但是在使用pyqt5构建GUI的过程中对界面组件的布局往往需要通过函数进行设置,博主再使用过程中感到非常麻烦与不便,因此决定使用通过python调用QT的.ui文件,通过.ui文件进行设置GUI组件布局,使用python进行数据的处理与函数逻辑的编写。
优点:QT Designer设计GUI布局美观、便利,python编程简易。
前置:python(或pycharm)、QT(Qt Creator 或Qt Designer)
二、安装pyqt5
pip install PyQt5
虽然博主使用QT进行GUI页面的构建,但是内部的一些逻辑采用python进行编写,因此仍然需要使用pyqt5。(有人可能会说“既然还是需要下载pyqt5,为什么不直接使用pyqt5”,还是上面的话,QT设计GUI布局美观,在ui文件中使用拖拽的方式更加直观了解成型的GUI界面情况,便于调整)
三、GUI页面设计
使用Qt Designer创建一个窗口,并添加一些组件。(本文仅作为基础因此进行简易的设计)

四、python的使用
python文件创建
在test1.ui文件夹内创建.py文件(便于后续调用)。

python程序的编写
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import *
#上述为需要调的库
class MainWindow(QWidget):
#初始化函数
def __init__(self):
super(MainWindow, self).__init__()
self.init_ui()#ui窗口文件
self.i = 0 #点击次数
def init_ui(self):
self.Firstui = uic.loadUi("test1.ui")#首先读取.ui文件
self.push = self.Firstui.pushButton#将ui中的赋值
self.label = self.Firstui.label_2
#按键的按下信号槽
self.push.clicked.connect(self.on_push)
#按键的槽函数
def on_push(self, index):
self.i=self.i+1
self.label.setText("点击第"+str(self.i)+"次")
if __name__ == '__main__':
app = QApplication(sys.argv)
Window = MainWindow()
Window.Firstui.show()
app.exec_()五、多窗口的应用
GUI设计

python编程
import sys
from PyQt5 import uic
from PyQt5.QtWidgets import *
#上述为需要调的库
class MainWindow(QWidget):
#初始化函数
def __init__(self):
super(MainWindow, self).__init__()
self.init_ui()#ui窗口文件
self.i = 0 #点击次数
def init_ui(self):
self.Firstui = uic.loadUi("test1.ui")#首先读取.ui文件
self.push = self.Firstui.pushButton#将ui中的赋值
self.push_2 = self.Firstui.pushButton_2
self.label = self.Firstui.label_2 # 将ui中的赋值
#按键的按下信号槽
self.push.clicked.connect(self.on_push)
self.push_2.clicked.connect(self.on_push2)
#按键的槽函数
def on_push(self, index):
self.i=self.i+1
self.label.setText("点击第"+str(self.i)+"次")
def on_push2(self, index):
self.Firstui.close()
Window2.Firstui.show()
class MainWindow2(QWidget):
#初始化函数
def __init__(self):
super(MainWindow2, self).__init__()
self.init_ui()#ui窗口文件
def init_ui(self):
self.Firstui = uic.loadUi("test2.ui")#首先读取.ui文件
if __name__ == '__main__':
app = QApplication(sys.argv)
Window = MainWindow()
Window2 = MainWindow2()
Window.Firstui.show()
app.exec_()与一个窗口的区别在于当触发特定按键时利用.close()关闭当前窗口同时使用.show对实例化的窗口对象进行.shou()打开。值得注意的是 .Firstui代表窗口,调用其他窗口是要使用类名.Firstui进行调用。
因为本文针对的是如何使用python调用QT的教程,因此对QT中一些其他的信号、组件及更多GUI界面的操作不做过多介绍。
总结
到此这篇关于python与QT联合的文章就介绍到这了,更多相关python与QT联合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python 读取yaml文件的两种方法(在unittest中使用)
这篇文章主要介绍了python 读取yaml文件的两种方法(在unittest中使用),帮助大家更好的理解和学习python,感兴趣的朋友可以了解下2020-12-12
python进程管理工具supervisor的安装与使用教程
supervisor是用python写的一个进程管理工具,用来启动,重启,关闭进程。下面这篇文章主要给大家介绍了关于python实现的进程管理工具supervisor的安装与使用的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。2017-09-09
scrapy框架携带cookie访问淘宝购物车功能的实现代码
这篇文章主要介绍了scrapy框架携带cookie访问淘宝购物车,本文通过实例代码图文详解给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07


最新评论