本文主要是介绍python与QT联合的详细步骤记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《python与QT联合的详细步骤记录》:本文主要介绍python与QT联合的详细步骤,文章还展示了如何在Python中调用QT的.ui文件来实现GUI界面,并介绍了多窗口的应用,文中通过代码介绍...
一、文章简介
python适合做一些后台处理的相关任务、但再实际应用过程中往往需要搭配一个GUI图形化界面共同使用。在python中含有pyqt库,通过pyqt库的调用可以实现GUI界面的功能,但是在使用pyqt5构建GUI的过程中对界面组件的布局往往需要通过函数进行设置,博主再使用过程中感到非常麻烦与不便,因此决定使用通过python调用QT的.ui文件,通过.ui文件进行设置GUI组件布局,使用python进行数据的处理与函数逻辑的编写。
优点:QT Designer设计GUI布局美观、便利,python编程简易。
前置:python(或pycharm)rjelcY、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, selwww.chinasem.cnf).__init__()
self.init_ui()#ui窗口文件
self.i = 0 #点击次数
def init_ui(self):
self.Firstui = uic.loadUi("test1.ui")#首先读取.ui文件
self.push http://www.chinasem.cn= 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.connandroidect(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) Wjsindow = MainWindow() Window2 = MainWindow2() Window.Firstui.show() app.exec_()
与一个窗口的区别在于当触发特定按键时利用.close()关闭当前窗口同时使用.show对实例化的窗口对象进行.shou()打开。值得注意的是 .Firstui代表窗口,调用其他窗口是要使用类名.Firstui进行调用。
因为本文针对的是如何使用python调用QT的教程,因此对QT中一些其他的信号、组件及更多GUI界面的操作不做过多介绍。
总结
到此这篇关于python与QT联合的文章就介绍到这了,更多相关python与QT联合内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持China编程(www.chinasem.cn)!
这篇关于python与QT联合的详细步骤记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!