pyqt介面控制項

2021-06-22 01:39:03 字數 3880 閱讀 1936

建立主介面的兩種方法

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 返回當前選擇索...