QPushButtonشرح ال

  QPushButton

1-Create object of QPushButton:  btn = QPushButton("name")

Btn.setObjectName(‘coded_name’) #أسم الزرار في الكود

Btn.move(x,y)تحرك الزرار#   

Btn.resize(width,height)  # تغير عرض وأرتفاع الزرار

btn.setToolTip)'This is a simple button') تظهر ملحوظة علي الزرار#

btn.setVisible() #True تخفي الزرار اذا أخذت 

 

2-Properties and Functions:

 

Btn.text():text

ترجع النص المكتوب علي الزرار

Btn.setText(“النص”)::string

تضع النص علي الزرار

btn.setIcon(QIcon("pic.exten"))

تضع أيقونة علي الزرار

Btn.isChecked():True,False

تستخدم لاختبار هل الزرار مضعوط بأسمرار ام لا

اذا كان الزر مضغوط مفعل للضغط بأستمرارtrueترجع 

Btn.setCheckable()::True,False

 لجعل الزرار مضغوط باستمرارtrueتأخذ

btn.setEnabled(False)::True,False

 لجعل الزرار غير مفعل و العكسFalseتأخذ

btn.hide()

تخفي الزرار عند تنفيذها

btn.setFlat()::True,False

True أخدت تجعل الزر بدون حواف أذا

وعند الضغظ عليه تظهر الحواف

self.menu = QMenu()             #create menu
self.menu.addAction("osama")    #add action1 in menu
self.menu.addAction("osama1")   #add action2 in menu
btn.setMenu(self.menu)          #add menu to button

تظهر القائمة قبل تشغيل البرنامج ويظهر البرنامج بعد الإختيار منها:        

btn.showMenu()

تحدد شكل الماوس عند الوقوف علي الزرار:                                         

button.setCursor(QCursor(Qt.PointingHandCursor))

 

3-Signals:

btn.clicked.connect(slot_fun)

تنفذ الحدث عند الضغط علي الزرار

btn.pressed.connect(slot_fun)

تنفذ الحدث طول ما الزرارمضغوط عليه

btn.released.connect(slot_fun)

تنفذ الحدث عند ترك الزرار بعد الضغط

 

4-Stylesheet:

 

self.btn.setStyleSheet('QPushButton{background-color : blue;}'
                       'QPushButton::hover{color:red}')

..........................…              or.........................

self.btn.setStyleSheet("QPushButton""{""background-color : blue;""}"
                       "QPushButton::hover""{""background-color : white;""}"
                       "QPushButton::pressed""{""background-color : black;""}")

...................          or................

 

app.setStyleSheet(stylesheet)

stylesheet='''
#btn{
background-color:rgb(45,255,64);
color:red;
border: 1px solid transparent;
border-radius: 10px;
font-size: 12px;
text-align:Top;
}
'''

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


class Form(QDialog):
    def __init__(self, parent=None):
        super(Form, self).__init__(parent)

        layout = QVBoxLayout()
        self.b1 = QPushButton("Button1")
        self.b1.setCheckable(True)
        self.b1.toggle()
        self.b1.clicked.connect(lambda: self.whichbtn(self.b1))
        self.b1.clicked.connect(self.btnstate)
        layout.addWidget(self.b1)

        self.b2 = QPushButton()
        self.b2.setIcon(QIcon(QPixmap("python.gif")))
        self.b2.clicked.connect(lambda: self.whichbtn(self.b2))
        layout.addWidget(self.b2)
        self.setLayout(layout)
        self.b3 = QPushButton("Disabled")
        self.b3.setEnabled(False)
        layout.addWidget(self.b3)

        self.b4 = QPushButton("&Default")
        self.b4.setDefault(True)
        self.b4.clicked.connect(lambda: self.whichbtn(self.b4))
        layout.addWidget(self.b4)

        self.setWindowTitle("Button demo")

    def btnstate(self):
        if self.b1.isChecked():
            print
            "button pressed"
        else:
            print
            "button released"

    def whichbtn(self, b):
        print
        "clicked button is " + b.text()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Form()
    ex.show()
    sys.exit(app.exec_())

Comments

Popular posts from this blog

QFormLayoutشرح ال

QGridLayoutشرح ال