我們先簡單的載入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)

沒有留言:
張貼留言