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")
btn.setMenu(self.menu)
btn.setPopupMode(QToolButton.InstantPopup)  #تظهر قائمة منسدلة عند الضغط علي الزرار

Or btn.setPopupMode(QToolButton.MenuButtonPopup)#تظهر سهم لقائمة منسدلة بجانب الزرار

self.menu = QMenu()

self.menu.addAction("osama")

self.menu.addAction("osama1")

btn.setMenu(self.menu)
btn.showMenu()تظهر قائمة منسدلة عند بداية تشغيل البرنامج وبعد الإختيار منها تظهرالنافذة #     

 

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

Popular posts from this blog

QFormLayoutشرح ال

QGridLayoutشرح ال