python写前端图形界面_Python图形界面开发
用python來開發圖形界面,確實不是很方便,沒有c#,Java,甚至VB來得容易。幾個控件拖拽,然后響應事件。
用python寫腳本,或者web service來處理一般工作,綽綽有余。
但有的時候,脫離開發環境,脫離服務器,還是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 表示可執行文件的圖標
最終效果就是這樣子的。
作者簡介:
Snake, 人稱安蜀黍,專職軟件測試10幾年,測試界的老司機。
更多精彩,請關注微信公眾號:python愛好部
總結
以上是生活随笔為你收集整理的python写前端图形界面_Python图形界面开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS7 (64位) 下QT5.5
- 下一篇: python去掉字符串中空格的方法