上一篇讲了图形界面的基本模块。想必很多朋友都想尝试使用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.
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(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)
def retranslateUi(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
函数调用一下。
import sys
from passlevel.first import Ui_MainWindow
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import pyqtSlot
class MyWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(MyWindow, self).__init__()
self.setupUi(self)
@pyqtSlot()
def on_pushButton_clicked(self):
print("hello")
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
mywindow = MyWindow()
mywindow.show()
sys.exit(app.exec_())
运行成功。
打包。
安装一个
pyinstaller
pip install pyinstaller
然后运行命令:
pyinstaller -F -w yourscript
参数说明:
-F
表示生成单个可执行文件
-w
表示去掉控制台窗口,这在
GUI
非常有用的界面。但是如果是命令行程序,就把这个选项去掉!
-p
表示自定义需要加载的类路径,一般不会用到
-i
表示可执行文件的图标
最终效果就是这样子的。
以上就是Python中图形界面(GUI)的安装和使用。更多Python学习推荐:
。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ python文件名通常以什么结尾11/20
- ♥ 在学习python之前我应该自学C吗?11/07
- ♥ python正则表达式如何计算元音?11/29
- ♥ python字符串的反转是什么?11/07
- ♥ eclipse安装python插件无法安装怎么解决01/14
- ♥ python有main函数吗?09/22
内容反馈