先创建一个qt界面,保存
用pyuic5工具将.ui转为.py文件,导入Pycharm
pyuic5 -o work.py C:\Users\86178\Desktop\work.ui
当用以下代码时,发现点击按钮并不打印出想要的信息
from PyQt5 import QtWidgets
from PyQt5.QtWidgets import QPushButton,QApplication, QHBoxLayout, QMainWindow, QPushButton, QWidget
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import *
from work import Ui_MainWindow
#from window import Ui_MainWindow
import sys
class MainWindow(Ui_MainWindow,QtWidgets.QMainWindow): # 组合继承
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.ui_start = Ui_MainWindow()
self.ui_start.setupUi(self)
self.setupUi(self)
self.init_slots()
def init_slots(self):
self.ui_start.pushButton.clicked.connect(self.onSignIn) # 点击按钮开始
@staticmethod
def onSignIn():
print('hello')
if __name__ == "__main__": # 开始运行
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
print('hello')
sys.exit(app.exec_())
试了很多次发现是多了一句:
self.setupUi(self)
把它注释掉就好了,查看了一下这个为什么会影响
下面是官方文档的写法,就没有那一句
setupUi函数能够对界面进行初始化,如果多了上面那一句,当前初始化的就不是我们需要的那个界面了,所以会出问题