مكتبة تلميح حديثة وقابلة للتخصيص بالكامل لـ PYQT و Pyside

PyQt5 و PyQt6 و PySide2 و PySide6 pip install pyqttooltip
from PyQt6 . QtWidgets import QMainWindow , QPushButton
from pyqttooltip import Tooltip , TooltipPlacement
class Window ( QMainWindow ):
def __init__ ( self ):
super (). __init__ ( parent = None )
# Add button
self . button = QPushButton ( 'Button' , self )
# Add tooltip to button
self . tooltip = Tooltip ( self . button , 'This is a tooltip' ) سيتم عرض تلميح الأدوات تلقائيًا أثناء تحوم عنصر واجهة المستخدم. إذا كنت ترغب في إظهار وإخفاء تلميح الأدوات يدويًا ، فيمكنك استخدام طرق show() hide() :
tooltip . show ()
tooltip . hide () لحذف تلميح الأدوات ، يمكنك استخدام طريقة deleteLater() :
tooltip . deleteLater () للحصول على إخطار عندما يتم عرض تلميح الأدوات أو إخفاءه ، يمكنك الاشتراك في الإشارات shown hidden :
tooltip . shown . connect ( lambda : print ( 'shown' ))
tooltip . hidden . connect ( lambda : print ( 'hidden' )) tooltip . setWidget ( widget ) # Default: None tooltip . setText ( 'Text of the tooltip' ) # Default: '' tooltip . setPlacement ( TooltipPlacement . RIGHT ) # Default: TooltipPlacement.AUTOالمواضع المتاحة:
AUTO،LEFT،RIGHT،TOP،BOTTOM
tooltip . setFallbackPlacements ([ TooltipPlacement . TOP , TooltipPlacement . BOTTOM ]) # Default: []إذا لم تتناسب تلميح الأدوات على الشاشة مع الموضع الأساسي ، فسيتم اختيار أحد مواضع الاحتياطية بدلاً من ذلك بترتيب القائمة المقدمة.
للحصول على الموضع الحالي لملالية الأدوات ، يمكنك استخدام طريقةgetActualPlacement().
tooltip . setTriangleEnabled ( False ) # Default: True tooltip . setTriangleSize ( 7 ) # Default: 5 tooltip . setDuration ( 1000 ) # Default: 0المدة هي الوقت في المللي ثانية التي ستبدأ بعدها تلميح الأدوات في التلاشي مرة أخرى. إذا تم ضبط المدة على
0، فستبقى تلميح الأدوات مرئيًا طالما تم تحوم القطعة.
# Setting the offset for a specific placement
tooltip . setOffsetByPlacement ( TooltipPlacement . LEFT , QPoint ( - 10 , 5 ))
# Using a dict that specifies the offset for each placement you want to set
offsets = {
TooltipPlacement . LEFT : QPoint ( - 10 , 5 ),
TooltipPlacement . RIGHT : QPoint ( 10 , 5 ),
TooltipPlacement . TOP : QPoint ( 5 , - 10 ),
TooltipPlacement . BOTTOM : QPoint ( 5 , 10 )
}
tooltip . setOffsets ( offsets )
# Setting the offsets for all the placements to a single value
tooltip . setOffsetsAll ( QPoint ( 10 , 5 ))كل وضع / جانب له إزاحة خاصة به للسماح بالتخصيص الكامل. كل إزاحة عبارة عن نقطة QPOINT ، تتكون من قيمة x و y.
بشكل افتراضي ، يتم تعيين جميع التعويضات علىQPoint(0, 0).
tooltip . setShowDelay ( 500 ) # Default: 50
tooltip . setHideDelay ( 500 ) # Default: 50 tooltip . setFadeInDuration ( 250 ) # Default: 150
tooltip . setFadeOutDuration ( 250 ) # Default: 150 tooltip . setBorderRadius ( 0 ) # Default: 2 tooltip . setBorderEnabled ( True ) # Default: False tooltip . setBackgroundColor ( QColor ( '#FCBA03' )) # Default: QColor('#111214')
tooltip . setTextColor ( QColor ( '#000000' )) # Default: QColor('#CFD2D5')
tooltip . setBorderColor ( QColor ( '#A38329' )) # Default: QColor('#403E41') tooltip . setFont ( QFont ( 'Consolas' , 10 )) # Default: QFont('Arial', 9, QFont.Weight.Bold) tooltip . setMargins ( QMargins ( 10 , 8 , 10 , 8 )) # Default: QMargins(12, 8, 12, 7) tooltip . setMaximumWidth ( 150 ) # Default: 16777215 (QWIDGETSIZE_MAX) tooltip . setTextCenteringEnabled ( False ) # Default: True tooltip . setDropShadowEnabled ( False ) # Default: True tooltip . setDropShadowStrength ( 3.5 ) # Default: 2.0 tooltip . setOpacity ( 0.8 ) # Default: 1.0
خيارات التخصيص الأخرى:
| خيار | وصف | تقصير |
|---|---|---|
setShowingOnDisabled() | ما إذا كان ينبغي عرض تلميحات الأدوات أيضًا على أجهزة واجهة المستخدم المعوقة | False |
setFadeInEasingCurve() | منحنى تخفيف التلاشي في الرسوم المتحركة | QEasingCurve.Type.Linear |
setFadeOutEasingCurve() | منحنى تخفيف الرسوم المتحركة | QEasingCurve.Type.Linear |
setMarginLeft() | ضبط الهامش الأيسر بشكل فردي | 12 |
setMarginRight() | اضبط الهامش الصحيح بشكل فردي | 12 |
setMarginTop() | اضبط الهامش الأعلى بشكل فردي | 8 |
setMarginBottom() | ضبط الهامش السفلي بشكل فردي | 7 |
يمكن العثور على العروض التوضيحية لـ PYQT5 و PYQT6 و Pyside6 في المجلد التجريبي.
للحفاظ على العرض التجريبي بسيطًا ، يتم تضمين أهم الميزات فقط. للحصول على نظرة عامة على جميع خيارات التخصيص ، تحقق من الوثائق أعلاه.
تثبيت تبعيات الاختبار المطلوبة PYQT6 و PYTEST و COVERAGEPY:
pip install PyQt6 pytest coverage
لتشغيل الاختبارات بالتغطية ، استنساخ هذا المستودع ، انتقل إلى الدليل الرئيسي وتشغيله:
coverage run -m pytest
coverage report --ignore-errors -m
هذا البرنامج مرخص بموجب ترخيص معهد ماساتشوستس للتكنولوجيا.