av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

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

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

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

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

為QPushButton設置快捷鍵

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

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() #創建按鈕1 self.btn1=QPushButton(’Button1’) #setCheckable():設置按鈕是否已經被選中,如果為True,則表示按鈕將保持已點擊和釋放狀態 self.btn1.setCheckable(True) #toggle():在按鈕狀態之間進行切換 self.btn1.toggle() #點擊信號與槽函數進行連接,這一步實現:在控制臺輸出被點擊的按鈕 self.btn1.clicked.connect(lambda :self.whichbtn(self.btn1)) #點擊信號與槽函數進行連接,實現的目的:輸入安妞的當前狀態,按下還是釋放 self.btn1.clicked.connect(self.btnstate) #添加控件到布局中 layout.addWidget(self.btn1) #創建按鈕2 self.btn2=QPushButton(’image’) #為按鈕2添加圖標 self.btn2.setIcon(QIcon(QPixmap(’E:pyqt5快速開發與實戰第四章imagespython.png’))) ##點擊信號與槽函數進行連接,這一步實現:在控制臺輸出被點擊的按鈕 self.btn2.clicked.connect(lambda :self.whichbtn(self.btn2)) layout.addWidget(self.btn2) self.btn3=QPushButton(’Disabled’) #setEnabled()設置按鈕是否可以使用,當設置為False的時候,按鈕變成不可用狀態,點擊它不會發射信號 self.btn3.setEnabled(False) layout.addWidget(self.btn3) #創建按鈕并添加快捷鍵 self.btn4=QPushButton(’&Download’) #setDefault():設置按鈕的默認狀態 self.btn4.setDefault(True) ##點擊信號與槽函數進行連接,這一步實現:在控制臺輸出被點擊的按鈕 self.btn4.clicked.connect(lambda :self.whichbtn(self.btn4)) layout.addWidget(self.btn4) self.setWindowTitle('Button demo') self.setLayout(layout) def btnstate(self): #isChecked():判斷按鈕的狀態,返回值為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庫圖形界面開發之PyQt5切換按鈕控件QPushButton詳細使用方法與實例

QPushButton代碼分析:

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

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

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

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

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

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

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

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

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

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

self.btn3.setEnabled(False)

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

self.btn4=QPushButton(’&Download’)

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品日韩欧美一区二区三区 | 亚洲精品一区在线 | 一区二区三区不卡视频 | 久久久精品综合 | 成人在线免费观看视频 | 亚洲小视频 | 亚洲第一区国产精品 | 91精品国产综合久久久久 | 免费观看一级视频 | 亚洲欧美日本国产 | 国产欧美精品区一区二区三区 | 欧美影院 | 亚洲午夜网 | 久久精品黄色 | 色婷婷综合久久久中文字幕 | 欧美日韩视频在线 | 亚洲电影第1页 | 人人干免费 | 四虎影院美女 | 精品视频在线观看 | 91视视频在线观看入口直接观看 | 久久精品视频网站 | 一区二区日本 | 亚洲aⅴ | 成人三级视频在线观看 | 欧美中国少妇xxx性高请视频 | av在线免费观看网址 | 日韩一区二区三区四区五区六区 | 亚洲成人一区二区 | 久久伊人影院 | 亚洲男女视频在线观看 | 喷水毛片 | 一区二区三区在线观看免费视频 | 精品一二区 | 国产xxx在线观看 | 91精品国产91久久久久久吃药 | 久久69精品久久久久久久电影好 | 91视频导航| 欧美专区在线 | 日韩av中文 | 亚洲精品乱码久久久久久按摩观 |