• 按钮类控件-QPushButton


    QPushButton类继承自QAbstractButton类。

    QPushButton类中的常用方法

      setCheckable()    设置按钮是否已经被选中,如果设置为True,则表示按钮将保持已点击和释放状态

      toggle()        在按钮状态之间进行切换

      setIcon()         设置按钮上的图标

      setEnabled()     设置按钮是否可以使用,当设置为False时,按钮变成不可用状态,点击它不会发射信号

      isChecked()      返回按钮的状态。返回值为True或False

      setDefault()      设置按钮的默认状态

      setText()        设置按钮的显示文本

      Text()        返回按钮的显示文本

    为QPushButton设置快捷键

      通过按钮名字能为QPushButton设置快捷键,比如名字为“&Download”的按钮,它的快捷键是“Alt+D”。其规则是:想要实现快捷键为“Alt+D”,那么按钮的名字里就要有这个字母D,并且在字母D前面加上“&”。这个字母D一般是按钮名称的首字母,而且在按钮显示时,“&”不会被显示出来,但字母D会显示一条下划线。如果要显示“&”,需要使用“&&”。

    案例14  QPushButton按钮的使用

    import sys
    from PyQt5.QtGui import *
    from PyQt5.QtWidgets import *
    
    
    class Form(QDialog):
        def __init__(self, parent=None):
            super().__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_())
        
  • 相关阅读:
    Vs2013在Linux开发中的应用(19): 启动gdb
    Codeforces Round #277 (Div. 2)---C. Palindrome Transformation (贪心)
    DataGridView依据下拉列表显示数据
    android POI搜索,附近搜索,周边搜索定位介绍
    HDU OJ Max sum 题目1003
    Android时时监測手机的旋转角度 依据旋转角度确定在什么角度载入竖屏布局 在什么时候载入横屏布局
    Hadoop架构设计、执行原理具体解释
    关联引用
    Linux性能诊断工具
    HDU 5089 Assignment(rmq+二分 或 单调队列)
  • 原文地址:https://www.cnblogs.com/lynsha/p/13405340.html
Copyright © 2020-2023  润新知