@TFGames · Post #2041 · 01.02.2024 г., 01:51
#TDF#SR https://testflight.apple.com/join/AiaYisrO
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
Пребарај: #tdf
@TFGames · Post #2041 · 01.02.2024 г., 01:51
#TDF#SR https://testflight.apple.com/join/AiaYisrO
@TFGames · Post #1696 · 28.12.2023 г., 04:40
#TDF#SR#GAMES https://testflight.apple.com/join/AiaYisrO
@TFGames · Post #1620 · 23.12.2023 г., 20:40
#TDF#SR#GAMES https://testflight.apple.com/join/AiaYisrO
@militantwire · Post #1869 · 14.05.2022 г., 19:05
🇺🇦🏴Anarchist militia fighting for the Territorial Defense Forces (#TDF), Black Flag #Ukraine, posted a picture of their fighters and the van that they’ve purchased with money donated from foreign comrades and sympathizers for use in their defense against #Russia|n invasion: https://twitter.com/potempkinbrain/status/1525552737978486785?s=21&t=hZN_K_M8lGqjeymUduF7ZQ
@addisstandardeng · Post #21277 · 02.02.2026 г., 11:01
#Op_ed: One Year On: Impact of senior commanders’ statement on #Tigray’s post-war transition Reflecting on the one-year anniversary of the January 2025 statement by senior Tigray forces leaders (#TDF commanders), Gebremeskel Hailu examines the “political, institutional, and humanitarian consequences of militarized interventions.” While the commanders raised legitimate grievances over stalled peace and humanitarian crises, he argues their intervention “entrenched political polarization and widened the political and military divide.” By endorsing a #TPLF faction and forcibly removing local officials, the military abandoned neutrality, exposing a “widening gap between rhetoric and practice.” The episode also revealed “deep inconsistencies” in disarmament decisions, “influenced more by political alignment than by principled security concerns.” Gebremeskel concludes that “durable recovery depends on civilian-led, inclusive, and legally grounded governance processes.” https://addisstandard.com/?p=54882
@borkena · Post #5962 · 09.03.2026 г., 06:35
"የጸረ-ድሮን ቴክኖሎጂ ታጥቀናል" ጄነራል ምግበይ በህወሓት የሚመራው እና ራሱን የትግራይ ሰራዊት ወይም TDF ብሎ የሚጠራው ኃይል "የጸረ-ድሮን ቴክኖሎጂ ታጥቋል” - ሲሉ ብ/ጄነራል ምግበይ ተናገሩ። የሰራዊቱ የምዕራብ ግንባር አዛዥ እንደሆኑ የሚናገሩት ብሪጋዴር ጄነራል ምግበይ ኃይለ፣ የትግራይ ሰራዊት የጸረ-ድሮን ቴክኖሎጂን ጨምሮ ስትራቴጂካዊ መሳሪያዎችን መታጠቁን ይፋ ተናግረዋል። ጄነራሉ ከድምጺ ወያነ ቴሌሊ ጋር ባደረጉት ቃለ-ምልልስ፣ ሰራዊቱ በቴክኖሎጂ የዳበረና ለማንኛውም ጥቃት የተዘጋጀ መሆኑን ገልጸዋል። በዚሁ ቃለምልልሳቸው ላይ “ለድሮን ጸረ-ድሮን፣ ለታንክ ጸረ-ታንክ መታጠቃችን ሊታወቅ ይገባል” ያሉት ጄነራል ምግበይ "ሰራዊቱ የህዝብ እንጂ የግለሰብ ፍላጎት ማስፈጸሚያ እንዳልሆነም ይታወቅልን" ሲሉ ተናግረዋል። #Ethiopia#Tigray#TDF#Ethiopiannews#news#ህወሃት#ጄነራልምግበይ#መቀሌ