我們先簡單的載入sys及pyqt4介面相關模組,然後寫個hello world標籤讓它顯示 # -*- coding: UTF8 -*- import sys from PyQt4.QtGui import * from PyQt4.QtCore import * app = QApplication(sys.argv) hello = QLabel('Hello World') hello.show() sys.exit(app.exec_()) pyqt4 習慣先載入一個程式主循環 app = QApplication(sys.argv) 如無這行,程式是不會有所反應的 所以這個小程式主要就是: 讓hello 等於 QLabel 然後讓程式顯示於視窗 hello = QLabel('Hello World') hello.show() 簡單直覺 所以GUI介面我選擇了PyQt4 smart more smart   再來我們將程式直接轉成物件導向寫法! # -*- coding: UTF8 -*- import sys from PyQt4.QtGui import * from PyQt4.QtCore import * app = QApplication(sys.argv) class Hello(QWidget): def __init__(self, parent=None): super(self.__class__, self).__init__(parent) hello = QLabel('Hello World', self) hello = Hello() hello.show() sys.exit(app.exec_()) 先建立個class並繼承了QWidget hello = QLabel('Hello World', self) 語法裡多個參數self, 主要是讓hello丟向QWidget self等同代表了QWidget本身 super(self.__class__, self).__init__(parent) super算是python較特殊的東西,在此我只簡單的講, 在此使用super主要方便繼承 QWidget的__init__初始化 super(self.__class__, self).__init__(parent)跟使用 super(Hello, self).__init__(parent)是相同作用 但當class Hello(QWidget): 改成 class World(QWidget): 時 super(Hello, self).__init__(parent)一樣得跟著改 super(World, self).__init__(parent) 因此使用self.__class__會較方便點 如對super相當迷惑,請網路查詢一下資料, super非三言兩語能解說清楚! 最後 sys.exit(app.exec_()) 用於讓hello主程式關閉時,讓 app 也跟著關閉
python學習心得、練習、教學 易於學習、功能強大,語法清晰易讀, 方便後續維護,與其它語言結合性強。 如jython(java)、ironpython(visual studio),等於可拿別的語言優點來做結合,又有個別稱『膠水語言』
2012年12月11日 星期二
PyQt4 教學1
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言