久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細使用方法與實例

瀏覽:4日期:2022-08-05 10:41:13
PyQt5切換按鈕控件QPushButton簡介

QAbstractButton類為抽象類,不能實例化,必須由其他的按鈕類繼承QAbstractButton類,來實現(xiàn)不同的功能和表現(xiàn)形式,常見的按鈕QPushButton,QToolButton,QRadioButton和QCheckBox這些按鈕均繼承自QAbstractButton類,根據(jù)各自的使用場景通過圖形顯示出來

QAbstractButton提供的狀態(tài)如下表 狀態(tài) 含義 isDown() 提示按鈕是否已按下 isChecked() 提示按鈕是否已經(jīng)標記 isEnable() 提示按鈕是否可以被用戶點擊 isCheckAble() 提示按鈕是否為可標記的 setAutoRepeat() 設(shè)置按鈕是否在用戶長按時可以自動重復(fù)執(zhí)行 QAbstractButton提供的信號如下表 信號 含義 Pressed 當鼠標指針在按鈕上并按下左鍵時觸發(fā)該信號 Released 當鼠標左鍵被釋放時觸發(fā)該信號 Clicked 當鼠標左鍵被按下然后釋放時,或者快捷鍵被釋放時觸發(fā)該信號 Toggled 當按鈕的標記狀態(tài)發(fā)生改變時觸發(fā)該信號 QPUshButton類中的常用方法 方法 描述 setCheckable() 設(shè)置按鈕是否已經(jīng)被選中,如果設(shè)置True,則表示按鈕將保持已點擊和釋放狀態(tài) toggle() 在按鈕狀態(tài)之間進行切換 setIcon() 設(shè)置按鈕上的圖標 setEnabled() 設(shè)置按鈕是否可以使用,當設(shè)置為False時,按鈕變成不可用狀態(tài),點擊它不會發(fā)射信號 isChecked() 返回按鈕的狀態(tài),返回值為True或者False setDefault() 設(shè)置按鈕的默認狀態(tài) setText() 設(shè)置按鈕的顯示文本 text() 返回按鈕的顯示文本

為QPushButton設(shè)置快捷鍵

通過按鈕名字能為QPushButton設(shè)置快捷鍵,比如名字為‘&Download’的按鍵,它的快捷鍵是‘Alt+D’。其規(guī)則是;想要實現(xiàn)快捷鍵為“Alt+D”,那么按鈕的名字里有D這個字母,并且在D的前面加上“&”,這個字母D一般是按鈕名稱的首字母,而且在按鈕顯示時。“&”不會顯示出來,如果想顯示,那么需要轉(zhuǎn)義,核心代碼如下

self.btn4=QPushButton(’&Download’)self.btn4.setDefault(True)QPushButton按鈕的使用實例

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *class Form(QDialog): def __init__(self,parent=None): super(Form, self).__init__(parent) #垂直布局 layout=QVBoxLayout() #創(chuàng)建按鈕1 self.btn1=QPushButton(’Button1’) #setCheckable():設(shè)置按鈕是否已經(jīng)被選中,如果為True,則表示按鈕將保持已點擊和釋放狀態(tài) self.btn1.setCheckable(True) #toggle():在按鈕狀態(tài)之間進行切換 self.btn1.toggle() #點擊信號與槽函數(shù)進行連接,這一步實現(xiàn):在控制臺輸出被點擊的按鈕 self.btn1.clicked.connect(lambda :self.whichbtn(self.btn1)) #點擊信號與槽函數(shù)進行連接,實現(xiàn)的目的:輸入安妞的當前狀態(tài),按下還是釋放 self.btn1.clicked.connect(self.btnstate) #添加控件到布局中 layout.addWidget(self.btn1) #創(chuàng)建按鈕2 self.btn2=QPushButton(’image’) #為按鈕2添加圖標 self.btn2.setIcon(QIcon(QPixmap(’E:pyqt5快速開發(fā)與實戰(zhàn)第四章imagespython.png’))) ##點擊信號與槽函數(shù)進行連接,這一步實現(xiàn):在控制臺輸出被點擊的按鈕 self.btn2.clicked.connect(lambda :self.whichbtn(self.btn2)) layout.addWidget(self.btn2) self.btn3=QPushButton(’Disabled’) #setEnabled()設(shè)置按鈕是否可以使用,當設(shè)置為False的時候,按鈕變成不可用狀態(tài),點擊它不會發(fā)射信號 self.btn3.setEnabled(False) layout.addWidget(self.btn3) #創(chuàng)建按鈕并添加快捷鍵 self.btn4=QPushButton(’&Download’) #setDefault():設(shè)置按鈕的默認狀態(tài) self.btn4.setDefault(True) ##點擊信號與槽函數(shù)進行連接,這一步實現(xiàn):在控制臺輸出被點擊的按鈕 self.btn4.clicked.connect(lambda :self.whichbtn(self.btn4)) layout.addWidget(self.btn4) self.setWindowTitle('Button demo') self.setLayout(layout) def btnstate(self): #isChecked():判斷按鈕的狀態(tài),返回值為True或False if self.btn1.isChecked(): print(’button pressed’) else: print(’button released’) def whichbtn(self,btn): #輸出被點擊的按鈕 print(’clicked button is ’+btn.text())if __name__ == ’__main__’: app=QApplication(sys.argv) btnDemo=Form() btnDemo.show() sys.exit(app.exec_())

效果圖如下

python GUI庫圖形界面開發(fā)之PyQt5切換按鈕控件QPushButton詳細使用方法與實例

QPushButton代碼分析:

在這個例子中,創(chuàng)建了四個按鈕,這四個QPushButton對象被定義為類的實例變量,每個按鈕都將clicked的信號發(fā)送給指定的槽函數(shù),來響應(yīng)按鈕點擊的事件

第一個按鈕btn1,**通過toggle()函數(shù)來切換按鈕的狀態(tài),其核心代碼是

self.btn1=QPushButton(’Button1’)self.btn1.setCheckable(True)self.btn1.toggle()

當這個按鈕點擊時,將clicked信號發(fā)送給槽函數(shù)btnstate(),通過btn.isChecked來獲得按鈕是否被點擊或者釋放的狀態(tài),其核心代碼是

self.btn1.clicked.connect(self.btnstate)

還可以通過lambda表達式來傳遞額外的參數(shù)btn1,將clicked信號發(fā)送給槽函數(shù)whichbtn(),其核心代碼

self.btn1.clicked.connect(lambda :self.whichbtn(self.btn1))

第二個按鈕btn2,上面顯示一個圖標,使用setIcon()方法接受一個QPixmap對象的圖像文件作為輸入?yún)?shù),其核心代碼是

self.btn2.setIcon(QIcon(QPixmap(’E:pyqt5快速開發(fā)與實戰(zhàn)第四章imagespython.png’)))

第三個按鈕btn3,使用setEnabled()方法來禁用btn3按鈕

self.btn3.setEnabled(False)

第四個按鈕btn4,使用setDefault()方法·來設(shè)置按鈕的默認狀態(tài)。快捷鍵是‘&+文本’(&Download),通過‘Alt+D’快捷鍵來調(diào)用槽函數(shù)

self.btn4=QPushButton(’&Download’)

本文主要講解了PyQt5切換按鈕控件QPushButton詳細使用方法與實例,更多關(guān)于PyQt5控件教程請查看下面的相關(guān)鏈接

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 日韩在线中文字幕 | 亚洲国产一区视频 | 亚洲一级毛片 | 亚洲欧美aⅴ | 日韩福利 | 国产精品久久久久久久久久久久久 | 成人伊人 | 欧美一区二区在线视频 | 在线视频中文字幕 | 国产精品久久久久久二区 | 91在线播放视频 | 欧美一区二区三区在线观看 | 亚洲一区二区中文字幕 | 福利影院在线观看 | 精品影院 | 精品www| 亚洲一区二区三区在线免费观看 | 国产精品一区二区三区av | 99久久婷婷国产精品综合 | 黄色av网站在线观看 | 日韩精品一区二区三区老鸭窝 | 免费的一级毛片 | 互换娇妻呻吟hd中文字幕 | 久久久高清 | 成人av电影网址 | 国外成人在线视频网站 | 精品无人乱码一区二区三区的优势 | 国产传媒自拍 | 国产精品夜夜 | 超碰免费在 | 九一视频在线播放 | 欧美午夜在线观看 | 日韩精品一区二区在线观看 | 精品久久久久久久久久久久久久久久久久久 | 国产精品九九九 | 久久久久久久国产精品 | 久久精品美女 | 美女福利视频 | 自拍视频在线播放 | 成人欧美一区二区三区在线播放 | 色综合二区 |