https://blog.csdn.net/weixin_41810846/article/details/100514709
安装pyqt和运行简单程序请参考上面的帖子。(安装没试过。。。但是代码可以运行,建议先看完上面的铁子)
主要说一下界面和代码的分离的信号与槽机制。(因为上面的博主没有更新,我就来班门弄斧了)
为啥要进行分离:因为在python中每对界面进行一次微小的改动,要用一下pyuic5这个命令(相当于make)
其中test.ui是我们画的ui界面,执行这个命令后,会生成一个test.py文件,用来写代码。
pyuic5 -o test.py test.ui
but问题来了,当我添加新的控件或者修改空间名字时候,都需要执行这个命令,重新生成代码,以前的代码就被刷新掉了,修改起来很麻烦,当界面和代码分离的时候,修改界面不影响代码
然后在上面博主的main的代码里的init函数里面添加信号和槽函数如下图所示:
from test import Ui_MainWindow
from PyQt5.QtWidgets import QMainWindow, QApplication
import sys
class MyWin(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(MyWin, self).__init__(parent)
# QMainWindow.__init__(self)
# Ui_MainWindow.__init__(self)
self.setupUi(self)
#定义信号,按键触发按钮,点这个按钮触发slotTestClicked这个函数
self.pushButton2.clicked.connect(self.slotTestClicked)
#定义槽函数
def slotTestClicked(self):
self.text.setText("hello world")
if __name__ == '__main__':
app = QApplication(sys.argv)
mw = MyWin()
mw.show()
sys.exit(app.exec_())
然后运行python3 main.py
点击按钮生成helloworld,如下图所示: