TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #380 · 21 окт.

Регулярно приходится писать и ревьюить код, где используется PySide2-6. Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ. Простой пример с кнопкой: button = QPushButton("Click Me") button.setMinimumWidth(300) button.setFlat(True) button.setStyleSheet("font-size: 20pt") button.setToolTip("Super Button") button.clicked.connect(lambda: print("Button clicked")) Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть) Этот код делает тоже самое но с помощью Property button = QPushButton( "Click Me", minimumWidth=300, flat=True, styleSheet="font-size: 20pt", toolTip="Super Button", clicked=lambda: print("Button clicked"), ) Где это может быть полезно ▫️ Это выглядит более аккуратно и коротко, уже повод использовать ▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка. widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight)) layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked"))) widget.show() Либо так widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) for wd in ( QLabel("Button >", alignment=Qt.AlignRight), QPushButton("Click Me", clicked=lambda: ...) ): layout.addWidget(wd) widget.show() ▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs. kwargs = {"text": "Hello " * 30, "wordWrap": True} my_label = QLabel(**kwargs) Как получить полный список доступных свойств? Эта функция распечатает в терминал все свойства виджета и их текущие значения def print_widget_properties(widget): meta_object = widget.metaObject() for i in range(meta_object.propertyCount()): property_ = meta_object.property(i) property_name = property_.name() property_value = property_.read(widget) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #baxtlibolalik

当前筛选 #baxtlibolalik清除筛选
Jizzax volontyorlar maktabi ️

@Volontyorlar_maktabi_Jizzax · Post #567 · 01.06.2022 г., 16:14

1-iyun - Xalqaro bolalarni himoya qilish kuni! ⚡️ Ushbu kun munosabati bilan Yoshlar ishlari agentligi Jizzax viloyat boshqarmasi tomonidan volontyorlar ishtirokida "Beg'ubor bolaligim" shiori ostida bayram dasturi tashkil etildi. Volontyorlar tomonidan turli xil aksiya va o'yinlar tashkil etilib, bolajonlarga sovg'alar ulashildi. #Baxtlibolalik Telegram sahifamiz👉@Jizzax_yoshlar_agentligi

🎉 HUMO ARENA поздравляет с Днём защиты детей! 🌈💫 Дети — наше будущее, наша радость и вдохновение. Пусть каждый ребёнок будет окружён любовью, заботой и смехом! 💖 Желаем всем малышам счастливого детства, ярких эмоций и исполнения самых заветных мечт! 🧸🎈 С любовью, ваша HUMO ARENA 💙 #HumoArena#ДеньЗащитыДетей#1июня#СчастливоеДетство#Семья#ПраздникДляВсех 💙💙💙💙💙💙💙💙💙💙💙💙💙💙 🎉 HUMO ARENA barcha bolalarni 1-iyun – Bolalarni himoya qilish kuni bilan tabriklaydi! 🌈💫 Bolalar — bizning kelajagimiz, quvonchimiz va ilhom manbaimiz. Har bir bola mehr, g‘amxo‘rlik va kulguga burkangan baxtli bolalikni boshdan kechirsin! 💖 Barcha kichkintoylarga baxtli bolalik, yorqin his-tuyg‘ular va orzu-umidlarning ro‘yobga chiqishini tilaymiz! 🧸🎈 Muhabbat bilan, sizning HUMO ARENA 💙 #HumoArena#BolalarniHimoyaQilishKuni#1iyun#BaxtliBolalik#Oila#Bayram