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

Резултати

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

Пребарај: #zionism

当前筛选 #zionism清除筛选

民族主義猶太人和世俗猶太人本質上是後期產生的政治團體和自我幻想。 而支持這些理念的西方資本家的目標是在1948年建立以色列(新殖民主義),延續二戰前的西方殖民主義利益。 猶太人和阿拉伯人也擁有來自共同祖先的原始基因遺傳。 (基因科學)閃米特人等等(亞伯拉罕)宗教信仰、政治利益以及語言和文化將阿拉伯人和猶太人分開(而不是種族) #Zionism

Hashtags

Saoedi-Arabië, de Verenigde Arabische Emiraten en verschillende landen die grenzen aan Israël zijn ook erg rijk. Ze hoeven alleen maar de voordelen te delen met de mensen uit de lagere klasse in ruil voor politieke stabiliteit. Ze hebben niet het lef om zich openlijk tegen het Westen te verzetten, laat staan ​​Hamas militair te steunen. #zionism 沙地阿拉伯、阿聯酋以及與以色列接壤的幾個國家也非常富有。 他們只需與下層民眾分享福利來能換取政局穩定。 他們沒有勇氣公開反對西方全球主義,更沒有勇氣在軍事上支持哈馬斯。

Hashtags

Israel’s finance minister Bezalel Smotrich has acknowledged his aim for an Zionism state that not only encompasses all Palestinian territories but also extends to Syria, in the latest such open statement referring to Tel Aviv’s potential pursuit of a ‘Greater Israel’ project. Smotrich stated that “it is written that the future of Jerusalem is to expand to Damascus”, adding ominously “only Jerusalem, until Damascus”. The documentary then detailed the Israeli finance minister’s plan – and that of other extremist and right-wing Israelis – to have Israeli statehood extend into Jordan, Lebanon, Egypt, Syria, Iraq, and Saudi Arabia. #Zionism https://www.middleeastmonitor.com/20241013-smotrich-israels-future-is-to-expand-to-damascus/

Hashtags

以色列國防部長交通事故 1 外間新聞: 斷骨送院 2 影片: 衝紅燈 疑點重重: 他必然是反抗組織的刺殺對象, 因為哈馬斯,真主黨和伊朗的一些地方組織領導也被他們刺殺。 他一個人駕車已不安全 + 還闖紅燈 ? 他的安全及保安意識這麼簿弱 ? #Zionism

Hashtags

ПретходнаСтраница 1 од 3Следна