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 слични објави

Пребарај: #humanitariandisasters

当前筛选 #humanitariandisasters清除筛选

2023 格拉斯哥人權藝術節 開放及活動時間表出爐! 人權藝術節將於下週末發生,透過來自世界各地藝術作品,呈現香港人以及中國人民在政權迫害下掙扎求生的真實且壓抑的困境。感知 傷疤和所承受的痛苦,看見 種種侵犯人權和人道主義災難,讓參加者反思人權的寶貴。 日期:2023年11月24至26日(星期五至日) 地點:The Haberdashery ( 545 Sauchiehall St, GLASGOW G3 7PQ ) 展覽開放時間: 24 NOV : 13:30-16:00 25-26 NOV : 10:00-15:00 除了藝術作品展出,藝術節透過多元化表達,如 主題活動:真人圖書館、藝術家對談、資訊工作坊和講座,不論是蘇格蘭港人還是其他族群,能夠以不同形式代入、理解那些經歷酷刑和折磨的經歷,從生活角度認知中國威脅如何影響我們每一個人。 歡迎大家參加以下主題活動,由於場地空間有限,鼓勵大家提早報名: 真人圖書館:香港還柙者的心聲 25 NOV, 10am - 11am 詳情及報名:https://shorturl.at/lwS27 藝術家分享:「活摘思想」 25 NOV, 12nn - 1pm 詳情及報名:https://shorturl.at/eBGQR 網絡安全初階 講座 26 NOV, 12nn - 1pm 詳情及報名:https://shorturl.at/aoDOX 中國國情座談會 26 NOV, 1pm - 2pm 詳情及報名:https://shorturl.at/opH69 — 以下是協辦本次藝術節的背景和緣起: 2023年初盛傳特區港府將設立中港器官互通機制,又有親北京政客倡議「默認港人登記器官捐贈者制度」。港警同時又以《港區國安法》恫嚇阻止港人取消登記,配以一個無法查閱的香港器官捐贈登記名冊,更顯得其中的黑箱作業;香港人權狀況的日益嚴峻,亦側面提醒人們對北京政權所作的侵犯人權行為。 北京政權治下中國,器官販售猖獗。時有耳聞有來歷不明器官捐贈及活摘異見人士器官。早幾年前,日本、韓國、台灣等地新聞亦曾揭發中國販賣器官情況相當嚴重,更出現一條龍式器官非法販售及移植服務; 這些被販售的器官,很有可能來自法輪功練功者、維吾爾人、異見人士、「被失縱」大學生等被政權迫害的人士。 十一月下旬——世界人權日前夕,我們將透過來自世界各地藝術家的創作,呈現香港以致整個中國人民受壓迫的真像,和人民在陋規下掙扎求存的種種經歷。 是次人權藝術節期望透過藝術賦予人們另一個眼光去凝視傷痕、感知傷痛,從中國及香港種種人權問題、人道災難中,面對問題及反思人權的可貴。 我們是誰?誰是 The Hong Kong Scots? 自 2021 年以來,由於在香港區議會工作的民主派人士所面臨的風險,The Hong Kong Scots 的大多數成員和同事都以尋求庇護的身份在蘇格蘭定居和團聚;並初步組成於 2021 年 11 月,於 2022 年 4 月註冊為社區利益公司,是一群居住在蘇格蘭港人,旨在為香港僑民社群提供支援,讓他們在蘇格蘭有尊嚴地生活並更進一步推廣人權概念至港人僑民社群。 除了人權藝術節外,我們組織了各種各樣的活動,例如 為香港抗議者和天安門大屠殺而設的六月晚會、香港節日工作坊、香港人人權議題評論以及為香港人和尋求庇護港人提供融合支援。若想了解更多,請瀏覽我們 網頁: https://thehongkong.scot 附註:透過此募款活動籌集的任何額外資金將用於資助未來對蘇格蘭港人社區的支援。 捐款支持 https://www.gofundme.com/f/glasgow-human-rights-art-fest-on-peking-issues #畫廊#畫家剖白#中國因素#網絡安全#座談會#寫信師#異見人士#活摘器官#港區國安法#世界人權日#人權藝術節#人道災難#蘇格蘭香港人#文化交流 #Gallery#ArtistTalks#ChinaFactor#CyberSecurity#PanelDiscussion#LetterWriting#Dissidents#ForcedOrganHarvesting#NationalSecurityLaw#HumanRightsDay#HumanRightsArtFestival#HumanitarianDisasters#ScottishHongkongers#CulturalExchange