1 按鈕類
QPushButton 普通按鈕
QToolButton 工具按鈕:通常在工具欄使用
QRadioButton 單選框
QCheckBox 複選框
QCommanLinkButton Vista風格的命令鏈接按鈕
QDialogButtonBox 對話框按鈕組:確定、取消
2 顯示組件
QLabel 標籤
QTextBrowser 文本區域
QGraphicsView 圖像顯示
QCalendarWidget 日曆組件
QProgressBar 進度條
QLCDNumber 液晶數字顯示
QWebView Web瀏覽器視圖
QDeclarativeView 顯示Qt聲明的用戶接口
3 輸入組件
QComboBox 下拉選框
QFontComboBox 字體選擇
QLineEdit 單行文本框
QTextEdit 多行文本框(富文本)
QPlainTextEdit 多行文本框(純文本)
QSpinBox 整數範圍調節器
QDoubleSpinBox 實型範圍調節器
QDial 環形範圍調節器
QSlider 滑動調節器
QTimeEdit 時間輸入框
QDateEdit 日期輸入框
QDateTimeEdit 時間日期輸入框
4 容器類
QFrame 幀窗口
QWidget 界面部件,所有界面對象類的基類
QToolBox 工具欄容器
QTabWidget 多標籤容器
QStackedWidget 層次容器,一次只有一個可見
QScollArea 滾動區域
QGroupBox 對象組容器
QMdiArea 多文檔容器
QDockWidget 懸浮容器
pyQt 界面控件常用積累QtGui.QApplication(sys.argv) #QApplication 類初始化
sys.exit(app.exec_()) #進入消息循環,等待窗體退出
創建主界面的兩種方法
1.通過繼承QtGui.QMainWindow創建類
QtGui.QMainWindow.init(self) # 調用父類初始化方法
2.通過繼承QtGui.QWidget創建類
QtGui.QWidget.init(self) # 調用父類初始化方法
QPushButton # 按鈕
setFlat(True) #設置文件樣式按鈕
連接事件信號的兩種方法
1.利用主界面self的connect方法
self.connect(self.button1, # Button1事件
QtCore.SIGNAL(‘clicked()’), # clicked()信號
self.OnButton1) # 插槽函數
2.利用控件本身connect方法
button.clicked.connect(showdata)
對話窗體基本用法
class MyDialog(QtGui.QDialog): # 繼承QtGui.QDialog
…
self.done(1) # 結束對話框返回1
調用
dialog = MyDialog() # 創建對話框對象
r = dialog.exec_() # 運行對話框
if r:
self.button.setText(dialog.text)
文本標籤控件QLabel
QtGui.QLabel(‘PyQt\nLabel’) # 創建標籤
label1.setAlignment(QtCore.Qt.AlignCenter) # 居中對齊
單行文本框控件QLineEdit
edit1 = QtGui.QLineEdit() # 創建單行文本框
edit2.setEchoMode(QtGui.QLineEdit.Password) # 將其設置爲密碼框
多行文本控件QTextEdit
edit = QtGui.QTextEdit() # 創建多行文本框
edit.setText(‘Python\nPyQt’) # 設置文本框中的文字
表格式佈局gridlayout
gridlayout.setRowMinimumHeight (1, 180) # 設置第二行的最小高度爲108
窗體菜單欄控件menuBar的基本用法
class MyWindow(QtGui.QMainWindow): # 通過繼承QtGui.QMainWindow創建類
menubar = self.menuBar() # 獲得窗口的菜單條
file = menubar.addMenu(‘&File’) # 添加File菜單
file.addAction(‘Open’) # 添加Open命令
open = self.file.addAction(‘Open’) # 添加Open命令
self.connect(open, QtCore.SIGNAL(‘triggered()’), self.OnOpen) # 菜單信號
退出主窗體界面
self.close()
界面右鍵菜單用法
def contextMenuEvent(self, event): # 重載彈出式菜單事件
self.file.exec_(event.globalPos())
常用消息框用法
QtGui.QMessageBox.about(self, ‘PyQt’, ‘About’) # 創建About消息框
QtGui.QMessageBox.aboutQt(self, ‘PyQt’) # 創建AboutQt消息框
r = QtGui.QMessageBox.critical(self, ‘PyQt’, # 創建Ctitical消息框
‘Critical’,
QtGui.QMessageBox.Abort,
QtGui.QMessageBox.Retry,
QtGui.QMessageBox.Ignore)
返回狀態判斷
if r == QtGui.QMessageBox.Abort:
self.label.setText(‘Abort’)
elif r == QtGui.QMessageBox.Retry:
self.label.setText(‘Retry’)
else:
self.label.setText(‘Ignore’)
QtGui.QMessageBox.information(self, ‘PyQt’, ‘Information’) # 創建Information消息框
r = QtGui.QMessageBox.question(self, ‘PyQt’, # 創建Question消息框
‘Question’,
QtGui.QMessageBox.Yes,
QtGui.QMessageBox.No,
QtGui.QMessageBox.Cancel)
r = QtGui.QMessageBox.warning(self, ‘PyQt’, # 創建Warning消息框
‘Warning’,
QtGui.QMessageBox.Yes,
QtGui.QMessageBox.No)
單選按鈕複選按鈕的用法
self.radio1 = QtGui.QRadioButton(‘Radio1’) # 創建單選框
self.radio2 = QtGui.QRadioButton(‘Radio2’)
self.check = QtGui.QCheckBox(‘check’) # 創建複選框
self.check.setChecked(True) # 將複選框選中
狀態獲取
if self.radio1.isChecked():
if self.check.isChecked():
xml界面文件的用法
from PyQt4 import QtCore, QtGui, uic
class MyDialog(QtGui.QDialog): # 繼承QtGui.QDialog
def init(self):
QtGui.QWidget.init(self)
uic.loadUi(“res.ui”, self)
def OnButton(self): # 處理按鈕事件
dialog = MyDialog() # 創建對話框對象
r = dialog.exec_() # 運行對話框
if r:
self.button.setText(dialog.lineEdit.text()) #獲取對話框中控件元素的值
空白項控件QSpacerItem的用法
spacer1 = QtGui.QSpacerItem(300,40) # 創建空白項
gridlayout.addItem(spacer1, 0 ,0) # 添加空白項
標準系統對話框用法
filename = QtGui.QFileDialog.getOpenFileName(self, ‘Open’) # 創建文件打開對話框
if not filename.isEmpty():
self.label.setText(filename)
font, ok = QtGui.QFontDialog.getFont() # 創建字體選中對話框
if ok:
self.label.setText(font.key())
color = QtGui.QColorDialog.getColor() # 創建顏色選擇對話框
if color.isValid():
self.label.setText(color.name())