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

Резултати

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

Пребарај: #amato

当前筛选 #amato清除筛选
Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44022 · 02.09.2023 г., 06:46

Giuliano #Amato sulla Strage di Ustica: “Il Dc9 fu abbattuto da un missile francese. Macron chieda scusa. Era scattato un piano per colpire l'aereo sul quale volava Gheddafi ma il leader libico sfuggì alla trappola perché avvertito da Craxi” @UltimoraPolitics

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44514 · 05.01.2024 г., 08:55

Intelligenza artificiale, Giuliano #Amato lascia la presidenza della commissione algoritmi dopo la conferenza stampa di ieri di Giorgia #Meloni: "È una commissione della presidenza del Consiglio, e visto che la mia nomina non risulta essere un’iniziativa della presidente del Consiglio lascio senz’altro l’incarico". Poi aggiunge una battuta, ridendo: "Peccato, ci perdono qualcosa...Ma a me semplificherà la vita" @UltimoraPolitics

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44026 · 02.09.2023 г., 12:25

Strage di Ustica, Matteo #Salvini: "Giuliano #Amato ha rilasciato dichiarazioni di inaudita gravità: è assolutamente necessario capire se ci sono anche elementi concreti a sostegno delle sue parole. Visto il peso delle affermazioni di Amato e il suo ruolo rilevante all’epoca dei fatti, attendiamo commenti delle autorità francesi" @UltimoraPolitics

Savino Balzano

@savinobalzano · Post #536 · 06.01.2024 г., 16:46

Giuliano Amato ha lasciato la Commissione che presiedeva e che si occupa dei possibili impatti dell'intelligenza artificiale. Tutti a fare polemica: la verità è che si tratta di una bellissima notizia perché era assolutamente inadeguato a ricoprire quel ruolo. La mia al TG Plus di Cusano Italia TV #amato#intelligenzaartificiale https://www.youtube.com/watch?v=fU7YnKQbeyQ&ab_channel=SavinoBalzano

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44025 · 02.09.2023 г., 11:59

Strage di #Ustica, Giorgia #Meloni: "Quelle di #Amato sono parole importanti che meritano attenzione ma sono frutto di personali deduzioni. Premesso che nessun atto riguardante la tragedia del Dc9 è coperto da segreto di Stato, e che nel corso dei decenni è stato svolto dall’autorità giudiziaria e dalle Commissioni parlamentari di inchiesta un lungo lavoro, chiedo al presidente Amato di sapere se, oltre alle deduzioni, sia in possesso di elementi che permettano di tornare sulle conclusioni della magistratura e del Parlamento, e di metterli eventualmente a disposizione, perché il governo possa compiere tutti i passi eventuali e conseguenti" @UltimoraPolitics

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #44515 · 05.01.2024 г., 15:41

Il teologo francescano Paolo #Benanti è il nuovo Presidente della Commissione sull'Intelligenza Artificiale per l'informazione, dopo le dimissioni di Giuliano #Amato Professore della Pontificia Università Gregoriana, Padre Benanti è l'unico italiano membro del Comitato AI delle Nazioni Unite @UltimoraPolitics