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 слични објави

Пребарај: #vpc

当前筛选 #vpc清除筛选
Comisia Electorală Centrală

@cecmoldova · Post #3425 · 25.11.2025 г., 15:30

✅Fundația Internațională pentru Sisteme Electorale (IFES) a prezentat astăzi, 25 noiembrie, în cadrul unui eveniment găzduit de Comisia Electorală Centrală (CEC), raportul privind monitorizarea implementării votului prin corespondență la alegerile parlamentare din 28 septembrie 2025. Documentul include constatări formulate pe baza activității misiunii de observare IFES în birourile electorale constituite în Canada, Suedia și Statele Unite ale Americii. Monitorizarea a vizat trei etape esențiale ale procesului: inventarierea și expedierea materialelor, încheierea votării prin corespondență și numărarea voturilor după închiderea secțiilor de votare. 💬În debutul evenimentului, Președinta CEC, Angelica Caraman, a subliniat importanța sprijinului constant oferit de IFES Moldova, inclusiv în procesul de implementare a votului prin corespondență și a apreciat faptul că misiunea de observare a evaluat fiecare etapă a acestei metode alternative de vot, contribuind astfel la o analiză cuprinzătoare. 📘Raportul prezentat astăzi conține, de asemenea, recomandări suplimentare pentru îmbunătățirea și eficientizarea proceselor aferente votului prin corespondență în urma scrutinului parlamentar din 2025, majoritatea vizând aspecte logistice și organizatorice. De asemenea, participanții au trecut în revistă recomandările înaintate de IFES în urma implementării parțiale a votului prin corespondență la alegerile prezidențiale și referendumul republican constituțional din 2024, fiind menționat faptul că majoritatea acestora au fost realizate înainte de scrutinul din anul curent. 📌Menționăm că potrivit Raportului CEC privind rezultatele alegerilor parlamentare din 28 septembrie 2025, rata plicurilor exterioare recepționate de la alegători este de 83,31%, ceea ce reprezintă un succes. La acest scrutin, votul prin corespondență a fost disponibil pentru cetățenii Republicii Moldova din 10 țări: SUA, Canada, Suedia, Norvegia, Finlanda, Islanda, Japonia, Republica Coreea, Uniunea Australiei și Noua Zeelandă. ☝️CEC anunță că subiectul implementării votului prin corespondență va fi abordat mai amplu, cu participarea tuturor subiecților interesați, în cadrul conferinței de analiză post-electorală, care urmează să fie desfășurată în luna februarie 2025. #CECMoldova#DemocrațiaContează#IFESMoldova#VpC#Alegeri

Comisia Electorală Centrală

@cecmoldova · Post #3427 · 28.11.2025 г., 14:56

În perioada 27–28 noiembrie 2025, membrii și funcționarii Comisiei Electorale Centrale (CEC), reprezentanții Centrului de Instruire Continuă în Domeniul Electoral, ai autorităților publice, funcționari electorali și jurnaliști au participat la un seminar de tip BRIDGE, dedicat organizării votării peste hotare. #CECMoldova#DemocrațiaContează#IFESMoldova#VpC#VotînStrăinătate#BRIDGE