會想要寫一系列的PYQT5 教學 主因是一直沒有找到一本書 從基礎pyqt5 教起
之前買了一本 大陸作者對書, 她把 PYQT 教的很複雜, 讓我一開死有點挫折, 只了一下也沒啊線好的英文書籍 就想到自己把自己心得寫出來
剛好看到 https://pythonbasics.org 有新增 PyQt 介紹 我就打算以此為藍本翻譯給大家
大家寫程式第一步都是 Hello World ... PyQT 第一步 也來個 Hello Word 吧
首先當然是 import 所需要的
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
上面這都是跑不掉的
再來就是呼叫QApplication , 初始化圖形介面物件
app = QApplication(sys.argv)
呼叫 Qwidget 物件, 並給這個物件一個名字 widget
QWidget 物件又是一個簡單的視窗物件
widget = QWidget()
widget.setGeometry(50,50,320,200) # 設定視窗位置 (左上X, 左上Y, 右下X, 右下Y)
widget.setWindowTitle("PyQt5 Hello World 測試")
但當我們要加入一串文字時, 並不能直接加入
需要先在 QWidget 裡面加入一個 QLabel 物件,
Qlabel 這物件 就是用來存要顯示的字串, 在這裡就是 Hellow World
所以我們現加入 Qlabel 到 widget 這個視窗物件 , 並給他一個名字叫textLabel
textLabel = QLabel(widget)
#將hello world 寫入 textLabel
textLabel.setText("Hello World!")
# 將 label 移到螢幕 100,85 這個位置
textLabel.move(110,85)
上面的視窗設定完了並不會顯示
需要執行 show() 才會顯示
widget.show()
當然整個圖形介面程式需要執行下面這行才會動作
sys.exit(app.exec_())
完整程式如下
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
app = QApplication(sys.argv)
widget = QWidget()
widget.setGeometry(50,50,320,200)
widget.setWindowTitle("PyQt5 Hello World 測試")
textLabel = QLabel(widget)
textLabel.setText("Hello World!")
textLabel.move(110,85)
widget.show()
sys.exit(app.exec_())
很簡單吧? 之所以GUI 設計有點複雜是因為他用到很多物件的概念, 很多人教也都用物件的叫發來寫, 但針對簡單的 GUI 是不需要把它包成 class 的
當然如果要寫複雜的 GUI 用物件是必須的, 但當你知道基本後 再改成物件形式就很簡單了
這個之後會慢慢教
下面是我的教學影片
沒有留言:
張貼留言