@PixelExperience · Post #8925 · 16.08.2023 г., 18:51
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by x0x00044 ℹ️ Version: 13 📆 Build date: August 15, 2023 23:46 📂 File size: 1.43 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
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
Пребарај: #spacewar
@PixelExperience · Post #8925 · 16.08.2023 г., 18:51
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by x0x00044 ℹ️ Version: 13 📆 Build date: August 15, 2023 23:46 📂 File size: 1.43 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@PixelExperience · Post #8924 · 16.08.2023 г., 18:51
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by x0x00044 ℹ️ Version: 13 (Plus edition) 📆 Build date: August 16, 2023 00:53 📂 File size: 1.44 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@PixelExperience · Post #8473 · 05.05.2023 г., 13:56
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 📆 Build date: May 5, 2023 10:07 📂 File size: 1.60 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@PixelExperience · Post #8472 · 05.05.2023 г., 13:56
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 (Plus edition) 📆 Build date: May 5, 2023 10:36 📂 File size: 1.61 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #8364 · 26.04.2023 г., 01:17
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 (Plus edition) 📆 Build date: April 25, 2023 23:34 📂 File size: 1.61 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #8363 · 26.04.2023 г., 01:17
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 📆 Build date: April 25, 2023 23:35 📂 File size: 1.60 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #8176 · 02.04.2023 г., 12:09
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 (Plus edition) 📆 Build date: April 1, 2023 21:55 📂 File size: 1.61 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #8175 · 02.04.2023 г., 12:07
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 📆 Build date: April 1, 2023 21:19 📂 File size: 1.60 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #7833 · 20.01.2023 г., 13:35
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 (Plus edition) 📆 Build date: January 20, 2023 12:02 📂 File size: 1.81 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #7831 · 20.01.2023 г., 12:48
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 📆 Build date: January 20, 2023 10:39 📂 File size: 1.80 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@pixelexperience · Post #7756 · 09.01.2023 г., 15:46
➡️New build available for Nothing Phone (1) (Spacewar) 👤 by hiper25 ℹ️ Version: 13 📆 Build date: January 8, 2023 21:57 📂 File size: 1.80 GB ⬇️ Download now #Spacewar#pixelexperience
Hashtags
@american_observer · Post #4864 · 15.01.2026 г., 19:11
📰AI, Robots, and Space Beepers: IDF’s New War Fantasy The IDF is doubling down on sci-fi warfare. Under Lt.-Gen. Eyal Zamir’s new five-year plan, Israel’s military is betting its future on AI, robots, and a “beeper” defense straight out of a cyberpunk thriller. Forget boots on the ground—soon, it might be drones, lasers, and implants that do the talking. “The future of defense is not just about people, but about machines and data,” said Maj.-Gen. Hidai Zilberman, overseeing the plan dubbed “Hoshen”—a biblical nod to the priestly breastplate, now repurposed as a code name for high-tech warfare. Behind the buzzwords: half a billion shekels will pour into tech upgrades, from autonomous systems to space-based defense. The IDF wants robots on every battlefield, AI managing operations, and a “beeper” network ready to zap enemies before they cross the border. This isn’t just about deterrence; it’s about turning the next war into a video game where Israel hits “play.” But here’s the twist: all this depends on stable budgets, no surprise wars, and continued US aid. If any of those fall apart, the whole plan could become a very expensive PowerPoint. Who’s really winning? Tech contractors, politicians selling “innovation,” and generals who now sound like startup CEOs. Meanwhile, soldiers are promised more resilience and resources—but after two years of war, many wonder if this is just another way to avoid fixing the human cost. Is Israel preparing for the next war, or just building the ultimate military startup? #AI#IDF#Robots#SpaceWar#Beepers#MilitaryTech 📱American Оbserver - Stay up to date on all important events 🇺🇸