標籤:建構函式 命令 setw __init__ 上層 命令列 補充 elf dock
建立ui_MainWindow.py檔案
# encoding: UTF-8
# Qt相關和十字游標
from PyQt4.QtGui import *
from PyQt4.QtCore import *
from PyQt4 import QtGui,QtCore
########################################################################
class ui_MainWindow( QtGui.QMainWindow):
# ----------------------------------------------------------------------
# 倆個建構函式
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self)# 建立主介面對象
self.setWindowTitle(u‘愛寬客‘) #錯誤碼self.setWindowTitle(‘愛寬客‘),會造成中文亂碼
self.resize(250,150)
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
main = ui_MainWindow()#建立一個主表單(必須要有一個主表單)
main.show()#主表單顯示
app.exec_()
PyQT中__init__(self,parent==None)的parent含義
在PyQt中,所以class都是從QObject派生而來,QWidget對象就可以有一個parent。這種parent-child關
系主要用於兩個方面:
沒有parent的QWidget類被認為是最上層的表單(通常是MainWindow),由於MainWindow的一些操作產生
的新表單對象,parent都應該指向MainWindow。
由於parent-child關係的存在,它保證了child表單在主表單被回收之時也被回收。
parent作為建構函式的最後一個參數被傳入,但通常情況下不必顯示去指定parent對象。因為當調用局
管理器時,部局管理器會自動處理這種parent-child關係。但是在一些特殊的情況下,我們必須顯示的
指定parent-child關係。如當產生的子類不是QWidget對象但繼承了QObject對象,用作dock widgets的
QWidget對象。
問題:
1: app = QApplication(sys.argv)//必須傳入參數
初始化視窗系統並且使用在argv中的argc個命令列參數構造一個應用程式物件。參考http://www.kuqin.com/qtdocument/qapplication.html#QApplication
2:PyQt4中的中文顯示問題
解決方案:中文加 u
或者顯式的使用unicode函數進行轉換。
水平有限,以待後面補充加改
第一個Python表單程式