QToolButtonشرح ال
QToolButton
Create object of QPushButton: btn = QToolButton(self)
Btn.move(x,y)تحرك الزرار#
Btn.resize(width,height) # تغير عرض وأرتفاع الزرار
btn.setFixedWidth(int) #عرض العنصر
btn.setFixedHeight(int)إرتفاع العنصر #
btn.setToolTip)'This is a simple button') تظهر ملحوظة علي الزرار#
btn.setVisible(False) #False تخفي الزرار اذا أخذت
btn.setEnabled(False) #Falseتلغي تفعيل الزرار لو أخذت
btn.setCheckable(True)تجعل الزرار يظل مضغوط إذا تم الضغط عليه#
btn.hide() #تخفي الزرار عند تنفيذها
btn.isChecked() #true or falseوترجع تستخدم لاختبار هل الزرار مضعوط بأسمرار ام لا
btn.setCursor(QCursor(Qt.PointingHandCursor)) #تحدد شكل الماوس عند الوقوف علي الزرار
btn.setIcon(QIcon("pic.exten"))تضع أيقونة علي الزرار#
btn.setShortcut(QKeySequence("Shift+1"))تضع إختصار للتنفيذ بديل الضغط علي الزرار#
btn.animateClick(1000) #1000msتضغط الزرار تلقائيا بعد زمن
Properties and Functions:
btn.text() | ترجع النص المكتوب علي الزرار |
btn.setText(“النص”) | تضع نص علي الزرار |
btn.setArrowType() | تظهر سهم علي الزرار وتأخذ: Qt.LeftArrow, Qt.RightArrow, Qt.DownArrow ,Qt.UpArrow |
btn.setAutoRaise(True) | تلغي حواف الزرار وتظهرها أثناء الضغط فقط |
تجعل الزرار يظهر عليه النص بجانب الأيقونة: btn.setIcon(QIcon(r'C:\Users\kali\Desktop\project\icon.png')) btn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) | |
: self.menu = QMenu() self.menu.addAction("osama") self.menu.addAction("osama1") Or btn.setPopupMode(QToolButton.MenuButtonPopup)#تظهر سهم لقائمة منسدلة بجانب الزرار | |
self.menu = QMenu() self.menu.addAction("osama") self.menu.addAction("osama1") btn.setMenu(self.menu) |
Signals:
btn.clicked.connect(slot_fun) | تنفذ الحدث عند الضغط علي الزرار |
btn.pressed.connect(slot_fun) | تنفذ الحدث طول ما الزرارمضغوط عليه |
btn.released.connect(slot_fun) | تنفذ الحدث عند ترك الزرار بعد الضغط |
btn.toggled.connect(slot_fun) | btn.setCheckable(True)تنفذ الحدث لما يكون |
Stylesheet:
self.btn.setStyleSheet("QToolButton""{""background-color : blue;""}"
"QToolButton::hover""{""background-color : white;""}"
"QToolButton::pressed""{""background-color :red;"
"border - style: inset;""}")
EX:
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
class Ui_MainWindow(QMainWindow):
def __init__(self):
super(Ui_MainWindow, self).__init__()
btn = QToolButton(self)
btn.setObjectName('kkk')
btn.move(20,10)
btn.resize(120,30)
btn.setToolTip('tool button')
# btn.setHidden(True)
btn.setText(' Click Here')
btn.clicked.connect(self.style_window)
self.menu = QMenu() # create menu
a = self.menu.addAction("Hide") # add action1 in menu
a.setShortcut("Ctrl+h")
a.triggered.connect(self.hide_window)
b = self.menu.addAction("Close") # add action2 in menu
b.setShortcut("Ctrl+c")
b.triggered.connect(self.close_window)
btn.setMenu(self.menu)
btn.setPopupMode(QToolButton.MenuButtonPopup)
# btn.setAutoRaise(True)
# btn.setArrowType(Qt.UpArrow)
btn.setIcon(QIcon(r'C:\Users\kali\Desktop\project\icon.png'))
btn.setToolButtonStyle(Qt.ToolButtonTextBesideIcon)
btn.setShortcut(QKeySequence("Shift+1"))
btn.setStyleSheet("QToolButton""{""background-color : blue;""}"
"QToolButton::hover""{""background-color : white;""}"
"QToolButton::pressed""{""background-color :red;"
"border - style: inset;""}")
def style_window(self):
self.setStyleSheet('''background-color:red;''')
def hide_window(self):
self.hide()
def close_window(self):
self.close()
if __name__ == "__main__":
app = QApplication(sys.argv)
ui = Ui_MainWindow()
ui.show()
sys.exit(app.exec_())
Comments
Post a Comment