PyQt开发(二):界面与逻辑分离

admin 2021年9月1日14:56:13评论81 views字数 960阅读3分12秒阅读模式

0x00

PyQt原生支持界面与逻辑分离,特别是使用QtDesigner设计界面

0x01 转换UI文件

使用QtDesigner设计并保存界面之后,会产生一个.ui文件,这里我们使用PyUIC去直接将其转换为.py文件。
打开这个.py文件,我们可以看到它是由PyUIC自动生成的,并且声明了不应该改动这个文件的代码,因为每次从.ui文件生成的时候都会将其覆盖。

# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'MainWindow.ui'
#
# Created by: PyQt5 UI code generator 5.10.1
#
# WARNING! All changes made in this file will be lost!

0x02 逻辑代码

既然不能直接在生成的.py文件中进行编辑,那么我们可以继承UI类,从而来编写逻辑代码。

from PyQt5 import QtWidgets
from ui.MainWindow import Ui_MainWindow

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setupUi(self)
        # Your code

0x03 运行代码

import sys
from PyQt5.QtWidgets import QApplication
from logic.MainWindow import MainWindow

if __name__ == '__main__':
    app = QApplication(sys.argv)
    MainWindow = MainWindow()
    MainWindow.show()
    sys.exit(app.exec_())

FROM :rickyhao.com | rickyhao.com

相关推荐: Jarvis OJ -WEB-WRITE-UP(一)

Jarvis OJ -WEB-WRITE-UP(一) PORT51 题目链接: http://web.jarvisoj.com:32770/ 访问页面之后,页面显示: Please use port 51 to visit this site. 当时看到了这个…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月1日14:56:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PyQt开发(二):界面与逻辑分离https://cn-sec.com/archives/499674.html

发表评论

匿名网友 填写信息