用过Qt的朋友特别是QtCreator的习惯在界面UI上面对应的CPP中写代码。但是在PyQt中不是这样的.pyQt只是个界面,只会生成界面即UI,就算是一个按钮也需要在python只自己写。不会想当然的找槽函数自动生成那么简单了。
安装pyQt5 <代码> pip3安装pyQt , 代码>
安装设计器<代码> pip3安装pyQt-tools 代码>
打开Qt5tools中的设计器
类Ui_Dialog(对象): def setupUi(自我,对话框): Dialog.setObjectName(“对话框”) 对话框。调整(657、496) 自我。按钮=QtWidgets.QPushButton(对话框) self.pushButton.setGeometry (QtCore。QRect(300, 440, 75, 23岁) self.pushButton.setObjectName(按钮) 自我。pushButton_2=QtWidgets.QPushButton(对话框) self.pushButton_2.setGeometry (QtCore。QRect(450, 440, 75, 23岁) self.pushButton_2.setObjectName (“pushButton_2”) 自我。buttonBox=QtWidgets.QDialogButtonBox(对话框) self.buttonBox.setGeometry (QtCore。QRect(360, 190, 156, 23岁) self.buttonBox.setStandardButtons (QtWidgets.QDialogButtonBox.Cancel | QtWidgets.QDialogButtonBox.Ok) self.buttonBox.setObjectName (“buttonBox”) 自我。columnView=QtWidgets.QColumnView(对话框) self.columnView.setGeometry (QtCore。QRect(40岁,30、256、192)) self.columnView.setObjectName (“columnView”) 自我。calendarWidget=QtWidgets.QCalendarWidget(对话框) self.calendarWidget.setGeometry (QtCore。QRect (290、248、197)) self.calendarWidget.setObjectName (“calendarWidget”) 自我。progressBar=QtWidgets.QProgressBar(对话框) self.progressBar.setGeometry (QtCore。QRect (40、250、211、23)) self.progressBar。setProperty(“价值”,24) self.progressBar.setObjectName (“progressBar”) 自我。verticalScrollBar=QtWidgets.QScrollBar(对话框) self.verticalScrollBar.setGeometry (QtCore。QRect (330、220、160)) self.verticalScrollBar.setOrientation (QtCore.Qt.Vertical) self.verticalScrollBar.setObjectName (“verticalScrollBar”) 自我。horizontalScrollBar=QtWidgets.QScrollBar(对话框) self.horizontalScrollBar.setGeometry (QtCore。QRect (380、110、160、16)) self.horizontalScrollBar.setOrientation (QtCore.Qt.Horizontal) self.horizontalScrollBar.setObjectName (“horizontalScrollBar”) self.retranslateUi(对话框) self.pushButton.clicked.connect (Dialog.PushButton1Clicked) QtCore.QMetaObject.connectSlotsByName(对话框) def retranslateUi(自我,对话框): _translate=QtCore.QCoreApplication.translate 对话框。setWindowTitle (_translate(“对话框”、“对话”)) self.pushButton。setText (_translate(“对话框”、“按钮”)) self.pushButton_2。setText (_translate(“对话框”、“按钮”))
看到只是对控件的位置属性进行定义而已,其中
self.pushButton.clicked.connect (Dialog.PushButton1Clicked)是对单击事件的处理名称进行关联
大家都知道界面需要有类合并来支撑这个界面。用过Qt的应该知道。界面有了还需要一个类与界面合,并可以想像这个类相当于cpp和. h文件吧