PyQT 入門(1):程序基礎框架


主要內容


  • 主要了解PyQt程序的整體框架;
  • 涉及模塊:QApplication, QLabel , QTimer

 

實例講解


首先先看一個簡單的PyQt程序:

import sys
from PyQt4.QtGui import *
from PyQt4.QtCore import *

app = QApplication(sys.argv) 
label = QLabel("<font color=red size=128><b>Hello PyQT!</b></font>")
label.setWindowFlags(Qt.SplashScreen)
label.show()
QTimer.singleShot(10000, app.quit) # 設置10s后自動退出
app.exec_()

 先看導入內容,PyQt中與界面有關的模塊一般在QtGui中,而QtCore中包含了很多基本組件。

 應用程序整體框架為:

app = QApplication(sys.argv) 
#...
app.exec_()

 中間省略的部分即為自己實現的界面部分,上面的小例子中,將會出現一個小窗口,顯示“Hello PyQT!”,接下來一行一行分析。

第6行,我們聲明了一個QLabel ,它支持類似於html的語法;

第7行,我們將窗口類型設置為閃屏,這種窗口沒有邊框,一般用於軟件啟動畫面;若將這句話注釋掉,會得到一個正常窗口;

第8行,我們把它的屬性設置為可見;

第9行中,我們用QTimer設置定時,10s后退出程序。

 

簡要總結:


  •  PyQt 程序整體框架, QApplication
  •  QLabel 標簽組件:顯示內容
  •  QTimer定時組件:完成時間調度任務

 

擴展知識:


QLabel是一種經常使用的的組件,下面的程序提供了更多的關於QLabel用法

主要涉及模塊:QFont, QPixMap, QFontMetric, QPainter, QTextDocument,

QLabel 方法:

label.setPixmap(pixmap)

label.setMask(pixmap.createMaskFromColor(Qt.red))

 

import sys 
from PyQt4.QtGui import *
from PyQt4.QtCore import *

msg = "Hello PyQt!"
app = QApplication(sys.argv) 
font = QFont("Times New Rome", 36, QFont.Bold)
fm = QFontMetrics(font)
pixmap = QPixmap(fm.width(msg) + 5, fm.height() + 5)
pixmap.fill(Qt.white)
painter = QPainter(pixmap)
document = QTextDocument()
document.setDefaultFont(font)
document.setHtml("<font color=red>%s</font>" % msg)
document.drawContents(painter)
label = QLabel()
label.setPixmap(pixmap)
label.setMask(pixmap.createMaskFromColor(Qt.red))
#label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint)
label.show()
QTimer.singleShot(10000, app.quit) # 1 minute
app.exec_()

 

 

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM