前面章节中我们介绍了在
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())
...