1. 程式人生 > >pyqt4 基本視窗,窗口布局,設定logo,視窗最大最小化

pyqt4 基本視窗,窗口布局,設定logo,視窗最大最小化

#-*- coding:utf-8 -*-
####上面一行是指定編碼,這樣檔案中(包括註釋)才能使用中文,否則無法執行
#pyqt4基本視窗示例
from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
class MyWindow(QDialog,QWidget):
    def __init__(self,parent = None):
        super(MyWindow,self).__init__(parent)
        self.windowInit()

    def windowInit(self
): self.setFont(QFont("Roman times",10.5))##設定字型 self.setWindowTitle("MyExample")##設定視窗標題 self.resize(400,400)#####設定視窗大小 self.setWindowFlags(Qt.WindowMinMaxButtonsHint)#######允許窗體最大最小化 #####設定log icon = QIcon() icon.addPixmap(QPixmap("chitu.ico"),QIcon.Normal) self.setWindowIcon(icon) ###窗體佈局,比如在裡面佈局兩個控制元件
self.mainLayOut = QGridLayout(self)##總得佈局 self.mainLayOut.setMargin(10) ##設定間距 self.mainLayOut.setSpacing(10)##間距 ####現在我們來佈局一個groupBox,一個textEdit self.myGroupBox = QGroupBox() self.mainLayOut.addWidget(self.myGroupBox,0,0,1,1)#####四個引數分別是,起始行,起始列,佔用行,佔用列 self.myGroupBox.setMinimumWidth(self
.width()/2) ########有時候控制元件的大小會影響容器大小,我們可以這樣限定 ######groupbox 是一個容器,如果我們需要繼續在這裡面佈局,寫東西,只需要再設定一個佈局就可以,這裡只往裡面寫入一個lineedit self.myGroupBoxLayout = QGridLayout() ###可以在這裡將groupbox 傳入,也可以之後再設定 self.myline = QLineEdit() self.myline.setText(u"你好~") self.myGroupBoxLayout.addWidget(self.myline) self.myGroupBox.setLayout(self.myGroupBoxLayout) ######這個空間放在主視窗右邊,上面的groupbox已經佔了一行一列,那麼我們可以放在第二列, # 注意這個行列關係是根據比例來的,我們總共有列數兩列,那就是佔一半,當然也會受裡面的控制元件影響,可以通過設定控制元件大小適當調整 self.textEditDebugMsg = QTextEdit() self.mainLayOut.addWidget(self.textEditDebugMsg,0,1,1,1) app=QApplication(sys.argv) window=MyWindow() window.show() app.exec_()