前面章节中我们介绍了在
pycharm
中配置pyqt5-tools
设计师及将ui
文件转换为py
文件及资源文件的转换,本章节介绍在py
文件中如果加载ui
文件的方法
一、简单的ui
设计师的界面展示
二、方法一(直接加载ui
)文件
-
1、新建一个
test.py
的文件 -
2、导包
from PyQt5.uic import loadUi
-
3、使用
loadUi
加载ui
文件... def set_ui(self): loadUi('./login.ui', self) ...
-
4、手动给按钮绑定事件及获取文本框的值
-
5、完整代码
import sys from PyQt5.Qt import * from PyQt5.uic import loadUi class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('直接加载ui文件') self.resize(500, 500) self.move(400, 200) self.set_ui() def set_ui(self): loadUi('./login.ui', self) print(dir(self)) self.login_btn.clicked.connect(self.login_btn_hand) def login_btn_hand(self): """ 点击登录的按钮事件 :return: """ print(self.account.text(), self.password.text()) if __name__ == "__main__": app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
三、方式二(需要先使用之前介绍的UI2PY
转换为py
文件,使用python
导包的方式)
-
1、转换为
py
文件 -
2、导包
-
3、实例化对象及调用方法
-
4、完整代码
import sys from PyQt5.Qt import * from login import Ui_Form class Window(QWidget): def __init__(self): super().__init__() self.setWindowTitle('测试代码') self.resize(500, 500) self.move(400, 200) self.set_ui() def set_ui(self): ui = Ui_Form() # 实例化对象 ui.setupUi(self) if __name__ == "__main__": app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
四、方式四(需要先使用之前介绍的UI2PY
转换为py
文件,使用类的多继承方式实现)
-
1、转换为
py
文件 -
2、导包
-
3、完整代码
import sys from PyQt5.Qt import * from login import Ui_Form class Window(QWidget, Ui_Form): #类的多继承 def __init__(self): super().__init__() self.setWindowTitle('') self.resize(500, 500) self.move(400, 200) self.set_ui() self.setupUi(self) # 当前类继承了父类的方法,直接调用 def set_ui(self): pass if __name__ == "__main__": app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
五、在开发过程中常使用类的多继承方式,我们可以将信号槽直接在设计师中写好
-
1、别的都不变,只要你根据自己定义的函数重新写个槽函数的业务代码就可以
... def login_btn_hand(self): """ 信号槽函数 :return: """ print(self.account.text(), self.password.text()) ...