建立主介面的兩種方法
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())
#pyqt
pyqt 實現控制項移除 pyqt刪除控制項的坑
最近在使用pyqt寫個專案,在remove控制項後,使用findchild仍然能找到控制項,除錯很久,才發現是pyqt的深坑.很無奈 這裡是關閉qtabwidget的標籤 def close tab self,index 1 if index 1 index self.tab widget.curr...
PyQt5學習筆記05 高階介面控制項
和樹 qtablewidget繼承自qtableview,主要區別是qtableview可以使用自定義的資料模型來顯示內容 先要通過setmodel來繫結資料來源 而qtablewidget只能使用標準的資料型別,並且單元格資料是通過qtablewidgetitem物件來實現的。import sys...
PYQT 控制項基本使用
qtgui.qcombobox控制項常用函式 additem string 新增字串項到item additems list 新增列表或元組元素到item clear 清除所有item clearedittext 清除編輯框內容 count 返回item數目 currentindex 返回當前選擇索...