Установить свойства виджета в 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
🖊OPINION | Invasion and Constitution
In this opinion piece, distinguished writer Luis Britto García blasts US colonial pretenses, reviews constitutional provisions on sovereignty and hydrocarbons, and recounts events described as the April 2002 kidnapping of Venezuela’s head of state and the resulting civilian deaths.
Access the complete column here 👉🏽https://shorturl.at/wfawJ
#Constitution#PDVSA#USVenezuelaRelations
Konstitutsiya – xususiy mulk himoyasi, tadbirkorlikni qo‘llab-quvvatlash va sanoat taraqqiyotining asosiy huquqiy kafolati
Oliy Majlis Qonunchilik palatasining Tadbirkorlik, raqobatni rivojlantirish va sanoat masalalari qo‘mitasi “Konstitutsiya – xususiy mulk himoyasi, tadbirkorlikni qo‘llab-quvvatlash va sanoat taraqqiyotining asosiy huquqiy kafolati” mavzusida davra suhbati o‘tkazildi.
Tadbirda deputatlar, tegishli vazirlik va idoralar, Savdo-sanoat palatasi, Biznes-ombudsman, Raqobatni rivojlantirish qo‘mitasi, Yoshlar parlamenti hamda Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi vakillari ishtirok etishdi.
Uchrashuvda xususiy mulk daxlsizligi, tadbirkorlik erkinligi, raqobat muhitini kuchaytirish, investitsiyaviy jozibadorlik va sanoatning barqaror o‘sishiga oid islohotlar hamda ularni amalga oshirishdagi muammolar ko‘rib chiqildi.
Yakunda iqtisodiy islohotlarni jadallashtirish va biznes uchun qulay sharoitlarni kengaytirish bo‘yicha ustuvor vazifalar belgilab olindi.
#GSBE#GraduateSchool#Constitution#Business
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🆕 NEWS | Maduro Presents Constitutional Reforms Package to Amplify Democracy and Chart ‘Sustainable’ Economic Course
President Nicolás Maduro has introduced an 80-article constitutional reform proposal, emphasizing participatory democracy and a long-term economic roadmap.
A National Commission has been formed to lead the process, and a public consultation will take place before a national referendum. A final proposal is expected in 90 days.
🔗 Read the full report here: https://shorturl.at/IVq9h
#Constitution#NicolasMaduro#PopularPower
🇺🇿 8-dekabr - Oʻzbekiston Respublikasi Konstitutsiyasi qabul qilingan kun
Sizni yurtimiz va xalqimiz uchun tenglik va adolat tamoyillarining asosiy kafolati bo‘lgan O‘zbekiston Respublikasining Konstitutsiyasining 33 yillik bayrami bilan samimiy muborakbod etamiz.
Vatanimiz ravnaqi va el-yurt farovonligi yo‘lida qilayotgan fidokorona mehnatingizga ulkan muvaffaqiyatlar, yangi zafarlar va mustahkam sog‘lik tilaymiz.
🇺🇿Biznes va tadbirkorlik oliy maktabi jamoasi
#GSBE#GraduateSchool#Constitution#Day
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🚨⚖️TRUMP BIRTHRIGHT CITIZENSHIP BAN: SUPREME COURT SHOWDOWN
🔹 Trump executive order targets children born to undocumented & visa holder parents — blocked since Jan 2025 📋
🔹 Supreme Court hears Barbara v. Trump April 1 — ruling June/July will reshape citizenship law ⚖️
🔹 Would overturn 130 years precedent since 1898 establishing birth-on-soil citizenship 🇺🇸
🔹 If upheld, birth certificate alone insufficient — parents must prove legal status 📜
Constitutional crisis! 14th Amendment vs Trump immigration crackdown showdown 💥
History on trial. America's founding birthright principle under attack! ⚡
#USNews#immigration#SupremeCourt#Constitution
@america
#language#russia#constitution#law
Испанская газета El País пишет о положении региональных языков и этносов в свете введения формулировки о государствообразующем народе в Конституцию. Кстати, в статье цитируется @tpolit.
https://elpais.com/internacional/2020-06-29/los-tartaros-temen-la-rusificacion.html#comentarios
📌 “Ochiq eshiklar”kuni!
O‘zbekiston Respublikasi Vazirlar mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi barchani taklif etadi.
🗓 7-dekabr
⏰ 11:00
🔎Batafsil
Konstitutsiyamizga qanday o‘zgartirishlar kiritildi❓
Korrupsiyaga qarshi kurashishda e’tiborimizni nimaga qaratishimiz kerak❓
✅Bu kabi barcha savollarga tadbir doirasida javob olishingiz mumkin.
#GraduateSchool#Uzbekistan#Constitution#Corruption
Web-site | Telegram | Facebook |Instagram
Aziz yurtdoshlar!
🇺🇿 Mamlakatimiz barqarorligi va tinchligimizning huquqiy tayanchi uchun mustahkam poydevor bo‘lib xizmat qilayotgan Asosiy qonunimiz qabul qilingan kun muborak bo‘lsin!
🇺🇿 Konstitutsiyamiz nafaqat biz yashayotgan va ishlayotgan qoida va tamoyillarni belgilab beradi, balki ertangi kunga ishonch va jamiyatimiz bilan faxrlanish tuyg‘usini mustahkamlab, yangi marralarni zabt etishga ilhomlantiradi.
🇺🇿 Vatanimiz ravnaqi va el-yurt farovonligida qilayotgan mehnatingizga muvaffaqiyat tilaymiz!
Eng samimiy tilaklar ila,
Biznes va tadbirkorlik oliy maktabi jamoasi.
#GraduateSchool#Constitution#Law#Uzbekistan
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
Spain’s people voted to approve a new Constitution on December 6, 1978. This ended Franco’s dictatorship and started democracy. The Constitution was officially made law on December 27, 1978. It gave rights and freedoms to everyone in Spain. 🇪🇸📜
[Source]
@googlefactss#Spain#Democracy#History#Constitution #1978
Does the new constitutional declaration truly guarantee justice and equality for all Syrians, or does it reinforce existing power structures? Share your thoughts with Hoopoe on its implications for governance and civil rights.
#Syria#Constitution
#AhmadSharaa#Julani
O‘zbekiston Respublikasi Konstitutsiyasi qabul qilinganligining 33 yilligi hamda 9 dekabr – Xalqaro korrupsiyaga qarshi kurashish kuni munosabati bilan o‘tkazilgan ma’naviy-ma’rifiy tadbir
O‘zbekiston Respublikasi Konstitutsiyasi qabul qilinganligining 33 yilligi hamda 9 dekabr – Xalqaro korrupsiyaga qarshi kurashish kuni munosabati bilan O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi professor-o‘qituvchilari, xodimlari va magistratura tinglovchilarining huquqiy savodxonligini oshirish, targ‘ibot-profilaktika ishlarini takomillashtirish hamda korrupsiyaga qarshi kurashish sohasida ilmiy-nazariy bilim va amaliy ko‘nikmalarini mustahkamlash maqsadida Ichki ishlar vazirligi akademiyasi professori, polkovnik – Qobilov Sharif Rahimovich ishtirokida ma’naviy-ma’rifiy tadbir tashkil etildi.
Tadbirni, O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi direktorining o‘rinbosari Bahrom Avazbaevich Xolboev kirish so‘zi bilan ochib, O‘zbekiston Respublikasi Prezidentining 2025 yil 21 noyabr kuni “O‘zbekiston Respublikasi Konstitutsiyasi kuni bayramiga tayyorgarlik ko‘rish va uni o‘tkazish to‘g‘risida”gi F-60-son Farmoyishiga muvofiq, “Konstitutsiya — inson qadri, erkinlik, tenglik va adolat garovi!” degan hayotiy shior asosida keng nishonlanayotganligini ta’kidladi.
🇺🇿Batafsil
🇷🇺RU
🇬🇧ENG
#GSBE#GraduateSchool#Constitution#AntiCorruption#Day
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube