PyQt5基礎學習-QPushButton按鈕 1.設置選中翻轉(QPushButton().toggle()) 2.在文本前顯示圖像 (QPushButton().setIcon) 3.設置按鈕不可被選中(QPushButton().setEnabled(False)) 4.設置Enter輸入點擊按鈕(QPushButton().setDefault(True)))5.lambda構造輸入


在調用函數的時候,可能需要傳入參數,因此使用lambda來構造函數進行傳入

 self.button4.clicked.connect(lambda: self.whichButton(self.button4))

QPushButtonDemo.py 

"""
按鈕控件 (QPushButton)

QAbstractButton

QPushButton
AToolButton
QRadioButton
QCheckBox
"""

import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

class QPushButtonDemo(QDialog):
    def __init__(self):
        super(QPushButtonDemo, self).__init__()
        self.initUI()

    def initUI(self):
        self.setWindowTitle("QPushButton Demo")

        layout = QVBoxLayout()

        self.button1 = QPushButton("第一個按鈕")
        self.button1.setText('First Button')
        #按第一次處於選中的狀態
        self.button1.setCheckable(True)
        self.button1.toggle()
        self.button1.clicked.connect(lambda: self.whichButton(self.button1))
        self.button1.clicked.connect(self.buttonState)
        layout.addWidget(self.button1)

        # 在文本前面顯示圖像
        self.button2 = QPushButton('圖像按鈕')
        self.button2.setIcon(QIcon(QPixmap("D:\QTStudy\Picture\ic.png")))
        self.button2.clicked.connect(lambda: self.whichButton(self.button2))
        layout.addWidget(self.button2)
        
        #設置按鈕為不可選中
        self.button3 = QPushButton("不可用的按鈕")
        self.button3.setEnabled(False)
        layout.addWidget(self.button3)
        
        #按住Enter鍵時, 默認按住這個按鈕
        self.button4 = QPushButton("&MyButton")
        self.button4.setDefault(True)
        self.button4.clicked.connect(lambda: self.whichButton(self.button4))

        layout.addWidget(self.button4)

        self.setLayout(layout)

        self.resize(400, 300)

    def buttonState(self):
        if self.button1.isChecked():
            print("按鈕1已經被選中")
        else:
            print("按鈕1未被選中")

    def whichButton(self, btn):
        print('被單機的按鈕是<' + btn.text() + '>')

if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = QPushButtonDemo()
    main.show()

    sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM