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

Резултати

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

Пребарај: #voterid

当前筛选 #voterid清除筛选
American Оbserver

@american_observer · Post #5203 · 23.02.2026 г., 02:04

📰 Jim Snow 2.0: NYC Needs More ID to Shovel Than to Vote New York’s socialist mayor Zohran Mamdani is begging people to shovel snow for the city — and demanding more paperwork than the Board of Elections asks for to pick the president. Emergency snow laborers have to be eligible to work in the U.S. and show up with two small photos, two original forms of ID (plus copies), and a Social Security card. To vote in New York City? Most registered voters don’t need to show any ID at the polling place at all. The same crowd that screams “Jim Crow” at voter ID laws is now totally fine with a mini-Patriot Act to push a shovel for $20–28 an hour. Undocumented immigrants — whom Mamdani insists should stay, work, and be protected — are automatically locked out, because the city can’t hire them without papers, and City Hall suddenly cares a lot about federal law when it’s their own HR department on the hook. Right-wing media calls this “Jim Snow 2.0” and “Snowcialism,” but the punchline cuts both ways. Conservatives get to yell “hypocrite” at a socialist mayor who requires a Social Security card for day work while opposing ID at the ballot box. Progressives get to quietly keep a system where corporations and private contractors still use undocumented labor off the books — just not on a city payroll where somebody might actually get audited. So New York ends up with the perfect late‑imperial compromise: - democracy you can enter with a signature and a shrug, - casual labor that requires a mini background check, - and a mayor who talks like ICE should be abolished but runs his snow-removal program like a low-budget TSA. The only people not in on the joke are the ones actually freezing on the sidewalk — and they’re the ones the city just told to bring five pieces of ID if they want to get paid to dig everyone else out. #NYC#Mamdani#voterID#immigration#snow#fakeDemocracy 📱American Оbserver - Stay up to date on all important events 🇺🇸