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

TGINSIGHT SIMILAR POSTS

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

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

Установить свойства виджета в PySide можно не только через соответствующие методы и конструктор класса. Можно их изменять с помощью метода setProperty по имени. btn = QPushButton("Click Me") btn.setProperty("flat", True) Это аналогично вызову btn.setFlat(True) Если указать несуществующее свойство, то оно просто создается btn.setProperty("btnType", "super") Получить его значение можно методом .property(name) btn_type = btn.property("btnType") Когда это может быть полезно? ▫️Можно просто хранить какие то данные в виджете и потом их доставать обратно widget = QWidget() widget.setProperty('my_data', 123) print(widget.property('my_data')) ▫️ Назначая эти свойства разным виджетам можно потом отличить виджеты во время итераци по ним. Например, найти все кнопки со свойством my_data="superbtn". Но ведь вместо кастомного свойства можно использовать objectName, будет тот же результат. Да, но y ObjectName есть ограничение - только строки. ▫️ Если нам потребуется не просто поиск а, например, сортировка по числу, то свойства позволяют нам это сделать. Поддерживается любой тип данных widget.setProperty('my_data', {'Key': 'value'}) widget.setProperty('order', 1) all_widgets.sort(key=w: w.property('order')) Но ведь Python позволяет всё вышеперечисленное сделать простым созданием атрибута у объекта widget.order = 1 widget.my_data = 123 Да, но я думаю что не надо объяснять почему не стоит так делать. К тому же, если у виджета нет свойства то метод .property(name) вернет None, а отсутствующий атрибут выбросит исключение. ▫️ Действительно полезное применение кастомным свойствам - контроль стилей. Здесь атрибутами не обойтись, нужны именно свойства. Дело в том, что в селекторах стилей можно указывать конкретные свойства виджетов на которые следует назначать стиль. Просто запустите этот код from PySide2.QtWidgets import * if __name__ == "__main__": app = QApplication([]) widget = QWidget(minimumWidth=300) layout = QVBoxLayout(widget) btn1 = QPushButton("Action 1") btn2 = QPushButton("Action 2") btn3 = QPushButton("Action 3", flat=True) layout.addWidget(btn1) layout.addWidget(btn2) layout.addWidget(btn3) # добавим кастомное свойство одной кнопке btn1.setProperty("btnType", "super") # добавляем стили widget.setStyleSheet( """ QPushButton[btnType="super"] { background-color: yellow; color: red; } QPushButton[flat="true"] { color: yellow; } """ ) widget.show() app.exec_() С помощью селектора мы избирательно назначили стили на конкретные кнопки. Как получить список всех кастомный свойств? Функция получения списка кастомных свойств отличается от получения дефолтных. def print_widget_dyn_properties(widget): for prop_name in widget.dynamicPropertyNames(): property_name = prop_name.data().decode() property_value = widget.property(property_name) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

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

Пребарај: #opendialogue

当前筛选 #opendialogue清除筛选
Green University CA | Official

@centralasian_greenuniversity · Post #797 · 27.02.2026 г., 12:15

📸Highlights from the “Youth Day” at Green University #YouthDay#OpenDialogue ______________________ 📸Green University “Yoshlar kuni”dan lavhalar #YoshlarKuni#OchiqMuloqot ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube

Green University CA | Official

@centralasian_greenuniversity · Post #790 · 27.02.2026 г., 05:51

Green University hosted an official meeting between the Rector and students on the occasion of “Youth Day.” 🗣During the event, the Rector of Green University, Dr. Bakhtiyor Pulatov, spoke about the conditions created for students, ongoing efforts to further enhance the quality of education, and future plans aimed at supporting young people. Students’ proposals and initiatives were also heard, and practical measures for their implementation were discussed. 💬The meeting was attended by a representative of the Youth Affairs Agency of the Republic of Uzbekistan, Elyor Norpulatov, who provided detailed information on the priority directions of the state youth policy and the opportunities being created for young people. The participants also discussed the content of the meeting between President Shavkat Mirziyoyev and youth, as well as the key priorities outlined during that dialogue, exchanging views on their effective implementation within the activities of higher education institutions. 👉ReadMore #YouthDay#OpenDialogue _____________________ Green University’da “Yoshlar kuni” munosabati bilan rektor va talabalar ishtirokida rasmiy uchrashuv bo‘lib o‘tdi. 🗣Tadbir davomida Green University rektori Professor Baxtiyor Pulatov talabalarga yaratilgan shart-sharoitlar, ta’lim sifatini yanada oshirish, yoshlarni qo‘llab-quvvatlashga qaratilgan istiqboldagi rejalar haqida so‘z yuritdi. Shuningdek, talabalar tomonidan bildirilgan taklif va tashabbuslar tinglanib, ularni amaliy qo‘llab-quvvatlash masalalari muhokama qilindi. 💬Uchrashuvda O‘zbekiston Respublikasi Yoshlar ishlari agentligi vakili Elyor Norpulatov ham ishtirok etib, yoshlarga oid davlat siyosatining ustuvor yo‘nalishlari hamda yaratilayotgan imkoniyatlar haqida ma’lumot berdi. Shuningdek, tadbir davomida President Shavkat Mirziyoyevning yoshlar bilan o‘tkazgan uchrashuvi mazmuni va unda belgilab berilgan ustuvor vazifalar muhokama qilinib, ularning ta’lim muassasalari faoliyatida samarali amalga oshirilishi yuzasidan fikr almashildi. 👉Batafsil #YoshlarKuni#OchiqMuloqot ✉️[email protected] ☎️ +998 55 512 00 77 📍Location 🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube