PyQt 界面控件常用積累(轉載)

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())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章