使用python进行开发过程中,不可避免会用到图形用户界面(Graphical User Interface,GUI),目前常用的GUI控件集有PyQt、Tkinter、wxPython、PyGTK等。
本文选用的控件集为PyQt5,开发环境如下:

安装包版本号
windows1064bit
PyCharm2017.2.3
python3.6.3
PyQt55.10
PyCharm中添加Qt Designer工具
  • 在“File—>Settings—>Tools—>External Tools”中点击“+”号,添加外部工具;
  • Program中填入“designer.exe”的路径,
    eg. D:\ProgramData\Anaconda2\Library\bin\designer.exe
  • Working directory中填入$FileDir$
PyCharm中添加Pyuic工具
  • 在“File—>Settings—>Tools—>External Tools”中点击“+”号,添加外部工具;
  • Program中填入“python.exe”的路径,
    eg. D:\ProgramData\Anaconda2\python.exe
  • Parameters中填入-m PyQt5.uic.pyuic $FileName$ -o $FileNameWithoutExtension$.py
  • Working directory中填入$ProjectFileDir$
设计UI文件并转换成 .py 文件

将Qt Desiginer设计的界面保存为.ui文件,在PyCharm中选中此文件,用添加的外部工具Pyuic转换成同名的.py文件。
生成的.py文件中只有一个从object类继承的Ui_MainWindow的类,无法运行,需要新建一个python文件调用。

调用 .py 文件,界面与逻辑的分离

界面文件:这种由 .ui 文件编译而来的 .py 文件称为界面文件。
逻辑文件:由于界面文件每次编译都会初始化,所以需要新建一个 .py 文件调用界面文件,这个 .py 文件称为逻辑文件,也可以称为业务文件

界面文件和逻辑文件是两个相对独立的文件,即实现了界面与逻辑的分离,也即“显示和业务逻辑的分离”。

逻辑文件的实现只需要新建一个CallFirstMainWin.py文件,并继承至界面文件的主窗口类。

# 界面文件为 FirstMainWin.py
from FirstMainWin import *

# 继承至界面文件的主窗口类
class MyMainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MyMainWindow, self).__init__(parent)
        self.setupUi(self)

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

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐