手动连接信号与槽:
在自动生成的UI文件后面,右击,选择第三项:Generate,如何会让创建一个窗体,默认就好,接下来选择你要创建的信号,前提是要记住之前控件的名字,接下来会生成一个文件,他的导入模块可能会出现问题,注意看导入的包,自动导入的那个文件可能会多一个.,需要手动删除,加下来需要导入
from PyQt5 import QtWidgets
用来后面实例化窗口:
if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) ui = MainWindow() ui.show() sys.exit(app.exec())
要自定义添加的槽,可以在定义函数的空间里面导入
例子:
# -*- coding: utf-8 -*- """ 这段代码不可以单独执行,因为所需要的UI.first不存在. 仅供参考 """ from PyQt5 import QtWidgets from PyQt5.QtCore import pyqtSlot from PyQt5.QtWidgets import QMainWindow from Ui_first import Ui_MainWindow class MainWindow(QMainWindow, Ui_MainWindow): """ Class documentation goes here. """ def __init__(self, parent=None): """ Constructor @param parent reference to the parent widget @type QWidget """ super(MainWindow, self).__init__(parent) self.setupUi(self) @pyqtSlot() def on_pushButton_5_clicked(self): """ 这是清空输入框. """ self.lineEdit.setText("") @pyqtSlot() def on_pushButton_4_clicked(self): """ 这是打印输入框里的内容 """ # TODO: not implemented yet print(self.lineEdit.text()) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) ui = MainWindow() ui.show() sys.exit(app.exec())
self.lineEdit.text():获取输入框的文本内容
.append():将内容添加到编辑框里
.settext(""):设置文本