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 | |
تظهر القائمة قبل تشغيل البرنامج ويظهر البرنامج بعد الإختيار منها: 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
Post a Comment