上篇讲过图形界面的基本模块了,想必很多小伙伴都想尝试使用GUI,但苦于没有下载的方法。小编经过一番查找,为大家带来的教程。
Python支持多种图形界面的第三方库,包括:
Tk,wxWidgets,Qt,GTK等等。
Tk(Tkinter)是Python自带的库,使用Tkinter,无需安装任何包,就可以直接使用。
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是目前最强大的库之一。
一般的框架,需要熟悉很多的API,PyQt也能实现类似c#一样GUI开发, 只需要拖拽控件,无需熟记太多的API。
本文就探索用pycharm 和 PyQt5 开发python GUI程序。
1. 配置环境。
a. 下载并安装QtDesigner。
b. 将QtDesigner集成到Pycharm中,如图:
编写代码。
PyQt的核心就是信号与槽。
先拖拽几个控件,通过上图定义的工具,就可以轻松的定义UI.
fromPyQt5importQtCore,QtGui,QtWidgets classUi_MainWindow(object): defsetupUi(self,MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800,600) self.centralwidget=QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.label=QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(180,80,47,13)) self.label.setObjectName("label") self.label_2=QtWidgets.QLabel(self.centralwidget) self.label_2.setGeometry(QtCore.QRect(390,130,47,13)) self.label_2.setObjectName("label_2") self.pushButton=QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(190,150,75,23)) self.pushButton.setObjectName("pushButton") MainWindow.setCentralWidget(self.centralwidget) self.menubar=QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0,0,800,21)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar=QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) defretranslateUi(self,MainWindow): _translate=QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow","MainWindow")) self.label.setText(_translate("MainWindow","show")) self.label_2.setText(_translate("MainWindow","TextLabel")) self.pushButton.setText(_translate("MainWindow","PushButton"))
然后定义一个main函数调用一下。
importsys frompasslevel.firstimportUi_MainWindow fromPyQt5importQtCore,QtGui,QtWidgets fromPyQt5.QtCoreimportpyqtSlot classMyWindow(QtWidgets.QMainWindow,Ui_MainWindow): def__init__(self): super(MyWindow,self).__init__() self.setupUi(self) @pyqtSlot() defon_pushButton_clicked(self): print("hello") if__name__=='__main__': app=QtWidgets.QApplication(sys.argv) mywindow=MyWindow() mywindow.show() sys.exit(app.exec_())
运行成功。
打包。
安装一个pyinstaller
pipinstallpyinstaller
然后运行命令:
pyinstaller-F-wyourscript
参数说明:
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。不过如果是命令行程序的话那就把这个选项删除吧!
-p 表示你自己自定义需要加载的类路径,一般情况下用不到
-i 表示可执行文件的图标
最终效果就是这样子的。
以上就是Python中图形界面(GUI)安装及用法。更多Python学习推荐:PyThon学习网教学中心。