日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pyqt5讲解2:QPushButton,QRadioButton,QCheckBox

發布時間:2024/9/30 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pyqt5讲解2:QPushButton,QRadioButton,QCheckBox 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

按鈕QPushButton

常用方法描述
setCheckable()設置按鈕是否已經被選中,如果設置True,則表示按鈕將保持已點擊和釋放狀態
toggle()在按鈕狀態之間進行切換
setIcon()設置按鈕上的圖標
setEnabled()設置按鈕是否可以使用,當設置為False時,按鈕變成不可用狀態,點擊它不會發射信號
isChecked()返回按鈕的狀態,返回值為True或者False
setDefault()設置按鈕的默認狀態
setText()設置按鈕的顯示文本
text()返回按鈕的顯示文本

設置快捷鍵

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

# -*- coding: utf-8 -*-'''【簡介】PyQt5中QButton例子'''import sys from 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()self.btn1 = QPushButton("Button1")self.btn1.setCheckable(True)self.btn1.toggle()self.btn1.clicked.connect(lambda: self.whichbtn(self.btn1))self.btn1.clicked.connect(self.btnstate)layout.addWidget(self.btn1)self.btn2 = QPushButton('image')self.btn2.setIcon(QIcon(QPixmap("./images/python.png")))self.btn2.clicked.connect(lambda: self.whichbtn(self.btn2))layout.addWidget(self.btn2)self.setLayout(layout)self.btn3 = QPushButton("Disabled")self.btn3.setEnabled(False)layout.addWidget(self.btn3)self.btn4 = QPushButton("&Download")self.btn4.setDefault(True)self.btn4.clicked.connect(lambda: self.whichbtn(self.btn4))layout.addWidget(self.btn4)self.setWindowTitle("Button demo")def btnstate(self):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_())

單選按鈕QRadioButton

方法描述
setCheckanle()設置按鈕是否已經被選中,可以改變單選按鈕的選中狀態,如果設置為True則表示單選按鈕將保持以點擊和釋放狀態
isChecked()返回單選按鈕的狀態,返回值True或False
setText()設置單選按鈕顯示的文本
text()返回單選按鈕顯示的文本
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class Radiodemo(QWidget):def __init__(self, parent=None):super(Radiodemo, self).__init__(parent)layout = QHBoxLayout()self.btn1 = QRadioButton("Button1")self.btn1.setChecked(True)#將按鈕1設為默認選中self.btn1.toggled.connect(lambda: self.btnstate(self.btn1))layout.addWidget(self.btn1)self.btn2 = QRadioButton("Button2")self.btn2.toggled.connect(lambda: self.btnstate(self.btn2))layout.addWidget(self.btn2)self.setLayout(layout)self.setWindowTitle("RadioButton demo")def btnstate(self, btn):if btn.text() == "Button1":if btn.isChecked() == True:print(btn.text() + " is selected")else:print(btn.text() + " is deselected")if btn.text() == "Button2":if btn.isChecked() == True:print(btn.text() + " is selected")else:print(btn.text() + " is deselected") if __name__ == '__main__':app = QApplication(sys.argv)radioDemo = Radiodemo()radioDemo.show()sys.exit(app.exec_())

self.btn1.setChecked(True)#將按鈕1設為默認選中
self.btn1.toggled.connect(lambda: self.btnstate(self.btn1))
toggled狀態之間切換

復選框按鈕QCheckBox

方法描述
setChecked()設置復選框的狀態,設置為True表示選中,False表示取消選中的復選框
setText()設置復選框的顯示文本
text()返回復選框的顯示文本
isChecked()檢查復選框是否被選中
setTriState()設置復選框為一個三態復選框
setCheckState()三態復選框的狀態設置,具體設置可以見下表

三態復選框的狀態設置

名稱值 和含義
Qt.Checked2 , 組件沒有被選中(默認)
Qt.PartiallyChecked1,組件被半選中
Qt.Unchecked0,組件被選中
import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import Qtclass CheckBoxDemo(QWidget):def __init__(self, parent=None):super(CheckBoxDemo, self).__init__(parent)#創建一個GroupBox組groupBox = QGroupBox("Checkboxes")groupBox.setFlat(False)#創建復選框1,并默認選中,當狀態改變時信號觸發事件self.checkBox1 = QCheckBox("&Checkbox1")self.checkBox1.setChecked(True)self.checkBox1.stateChanged.connect(lambda: self.btnstate(self.checkBox1))#創建復選框,標記狀態改變時信號觸發事件self.checkBox2 = QCheckBox("Checkbox2")self.checkBox2.toggled.connect(lambda: self.btnstate(self.checkBox2))#創建復選框3,設置為3狀態,設置默認選中狀態為半選狀態,當狀態改變時信號觸發事件self.checkBox3 = QCheckBox("tristateBox")self.checkBox3.setTristate(True)self.checkBox3.setCheckState(Qt.PartiallyChecked)self.checkBox3.stateChanged.connect(lambda: self.btnstate(self.checkBox3))#水平布局layout = QHBoxLayout()#控件添加到水平布局中layout.addWidget(self.checkBox1)layout.addWidget(self.checkBox2)layout.addWidget(self.checkBox3)#設置QGroupBox組的布局方式groupBox.setLayout(layout)#設置主界面布局垂直布局mainLayout = QVBoxLayout()#QgroupBox的控件添加到主界面布局中mainLayout.addWidget(groupBox)#設置主界面布局self.setLayout(mainLayout)#設置主界面標題self.setWindowTitle("checkbox demo")#輸出三個復選框當前的狀態,0選中,1半選,2沒選中def btnstate(self, btn):chk1Status = self.checkBox1.text() + ", isChecked=" + str(self.checkBox1.isChecked()) + ', chekState=' + str(self.checkBox1.checkState()) + "\n"chk2Status = self.checkBox2.text() + ", isChecked=" + str(self.checkBox2.isChecked()) + ', checkState=' + str(self.checkBox2.checkState()) + "\n"chk3Status = self.checkBox3.text() + ", isChecked=" + str(self.checkBox3.isChecked()) + ', checkState=' + str(self.checkBox3.checkState()) + "\n"print(chk1Status + chk2Status + chk3Status) if __name__ == '__main__':app = QApplication(sys.argv)checkboxDemo = CheckBoxDemo()checkboxDemo.show()sys.exit(app.exec_())

QGroupBox為構建分組框提供了支持。分組框通常帶有一個邊框和一個標題欄,作為容器部件來使用,在其中可以布置各種窗口部件。布局時可用作一組控件的容器,

電氣專業的計算機萌新,寫博文不容易,如果你覺得本文對你有用,請點個贊支持下。謝謝。

總結

以上是生活随笔為你收集整理的pyqt5讲解2:QPushButton,QRadioButton,QCheckBox的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美爱爱网| 久久久久久综合网 | 无码人妻精品一区二区三区在线 | se综合| 亚洲精华液一区二区 | 日日操视频 | 黄色av日韩 | 国产成人在线播放视频 | 国产精品自产拍 | www色婷婷 | 国产91精品一区 | 两女双腿交缠激烈磨豆腐 | 午夜精品区 | 国产激情视频一区 | 五月深爱婷婷 | 久久精品在线观看 | 久久久久久av| 免费视频久久久 | 久久精品免费一区二区 | 二区三区偷拍浴室洗澡视频 | 午夜性刺激免费视频 | 国产欧美精品一区二区在线播放 | 国产精品久久777777换脸 | 午夜不卡av | 18视频在线观看男男 | 久久九九热 | 超碰天天操 | 少妇性l交大片免潘金莲 | 成人区一区二区 | 国产原创在线视频 | 日韩av一级片 | 三级免费网站 | 亚洲乱码国产乱码精品精的特点 | 韩漫动漫免费大全在线观看 | 亚洲中文字幕一区二区在线观看 | 制服诱惑一区 | 国产在线一级 | 亚洲天堂男人网 | 中文字幕高清在线免费播放 | 欧美丰满熟妇bbbbbb | 国产精品国产三级国产专播品爱网 | 18无套直看片红桃 | 国产乱淫av片免费看 | 亚洲精品一区二区三 | 午夜黄色一级片 | 波多野在线| 精品国产免费无码久久久 | 成人黄色电影在线 | 欧美亚洲免费 | 国产在线精品二区 | 婷婷毛片 | 国产无遮挡18禁无码网站不卡 | 亚洲一区二区三区四区五区xx | 亚洲αv | 亚洲人成人一区二区在线观看 | 高清不卡一区 | 欧美日韩不卡视频 | 精品人妻无码一区 | 国产国产国产 | 嫩草影院懂你的影院 | 久久国产色av免费观看 | 香蕉伊思人视频 | 精品肉丝脚一区二区三区 | 亚洲v在线观看 | 亚洲一区二区三区四区五区xx | 国产九九九九九 | 男人的天堂免费av | 精品久久成人 | 免费啊v在线观看 | 最新中文字幕在线 | 第一章豪妇荡乳黄淑珍 | 亚洲精品乱码久久久久久自慰 | 国产一区二区在线免费观看视频 | 免费看片成人 | 欧美在线观看一区 | 91老师片黄在线观看 | 91精彩刺激对白 | 国产精品高潮呻吟久久av野狼 | 午夜在线观看视频网站 | 中文字幕免费高清网站 | 亚洲激情视频在线 | 亚洲成人av在线播放 | 亚洲女优在线播放 | 人成在线 | 我们2018在线观看免费版高清 | 亚洲精品在线免费播放 | 亚洲精品一区二区三区新线路 | 青草久久久 | 一区二区三区视频在线观看 | 72种无遮挡啪啪的姿势 | 中文字幕人妻熟女在线 | 91高清视频 | 日韩精品一区二区三区丰满 | av巨作 | 国产无遮挡又黄又爽免费网站 | 在线观看 亚洲 | 免费a级网站| 日韩在线导航 | 亚洲av毛片一区二二区三三区 |