1. 程式人生 > >第一個Python窗體程序

第一個Python窗體程序

itl mce 參數 光標 ica gets qwidget 主界面 應該

新建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窗體程序