@NEDEFINITA · Post #21 · 11.12.2024 г., 13:56
Lucid Lucid在經過一段時間的調試,已經接近穩定。目前我們打算並行開啟新的開發計劃。 #News#Lucid //source @NEDEFINITA
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
Пребарај: #lucid
@NEDEFINITA · Post #21 · 11.12.2024 г., 13:56
Lucid Lucid在經過一段時間的調試,已經接近穩定。目前我們打算並行開啟新的開發計劃。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #16 · 24.10.2024 г., 16:40
Lucid 開賣特惠: 前五位購買的用戶將獲贈未來開發的兩個擴展包(可自行選擇)為期一年的使用權。 更新: 名額已售罄,感謝支持。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #12 · 24.10.2024 г., 16:40
Lucid Ludid的宣傳媒體資源。 * 該資源因版本變動,介面細節可能會有所改變,請以最新版本為準。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #11 · 24.10.2024 г., 16:40
Lucid Lucid 是一個現代化、持續發展且不斷迭代的 V2Board 主題。 與大多數主題不同,我們摒棄了 TabBar 的設計,並自主設計了一套基於 Bento Grid 的全新設計。我們制定了統一的設計理念,確保用戶在交互上渾然一體。 ------ 特徵: - Bento Grid 設計系統 - 響應式設計 - 瀑布流載入設計 - 支援多種配色 (鋅, 藍, 綠, 橙, 紅, 紫羅蘭...) - 流暢的頁面過渡動畫 - 完全類型安全 相容性: - 已經在 V2board v1.7.4, Xboard 通過測試 - 已經在 Safari 17+, Chrome 100+ 通過測試 - 理論相容 iOS 10.0+, Android 5.0+, Chrome 87+, Edge 88+, Firefox 78+, Safari 14+ 授權方式: - 一次性買斷,離線授權 - $99.99 單個前端網域名稱 - $129.99 多個前端網域名稱 - $19.99 更換後端網域名稱費用 (因為網域名稱被GFW封鎖而需要更換的,可以$9.99的價格更換) - $39.99 單個前端網域名稱升級到多個前端網域名稱 接受的付款方式: - USDT-TRC20(等值於 1美元) 基本服務條款: - 購買授權即表示您已经了解且同意服務條款 - 購買授權後,不因任何理由予以退款 - "多個前端網域名稱" 不限制加入端網域名稱數量,但僅限同一個網站中使用 - 本主題採用CSR(客戶端渲染),不會收集您的任何資料 - 在購買授權時,我們會收集您的前後端網域名稱,該網域名稱僅用於授權目的 - 如果您將授權用於破解,UNDEFINED 有權吊銷您的授權 - 協議最終解釋權歸 UNDEFINED 所有 ------ 開發的步伐不會停歇。我們持續不斷地修復漏洞並積極完善主題。除此之外,多種擴展包 (用戶引導、Telegram Integration...)也正在路上。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #10 · 23.10.2024 г., 18:03
Lucid 我們來了,這是Lucid的第一版本。 歡迎您不吝提出寶貴的意見。加入 我們的交流群組 以獲取Demo。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #8 · 23.10.2024 г., 10:01
Lucid 比例、佈局,一切都剛剛好。 煩請稍候片刻,我們正在進行最後的調整。Lucid 將於一週內發布。 #News#Lucid //source @NEDEFINITA
@NEDEFINITA · Post #6 · 22.10.2024 г., 06:01
Lucid 首套 V2Board 主題,代號 Lucid,即將發布。 - Bento Grid 設計系統 - 響應式設計 - 瀑布流載入設計 - 支援多種配色 - 完全類型安全 - … 敬請關注。 #News#Lucid //source @NEDEFINITA
@thisismygenerations · Post #4847 · 01.05.2026 г., 11:15
Соревнования по водным лыжам #lucid#фотореализм#портреты
Hashtags
@thisismygenerations · Post #4659 · 04.03.2026 г., 11:24
Самым ярким пятном в интерьере этого клуба было ее платье #lucid#фотореализм#портреты
Hashtags
@thisismygenerations · Post #4658 · 04.03.2026 г., 08:31
Эти двое - лекарство, которое хуже любой болезни #lucid#digitalart#портреты
Hashtags
@thisismygenerations · Post #4845 · 01.05.2026 г., 07:59
Автогонка в Америке 1970-х #lucid#фотореализм#автомобили
Hashtags
@thisismygenerations · Post #4603 · 17.02.2026 г., 08:27
Фотосессия кроссоверов на берегах горного озера #lucid#фотореализм#автомобили
Hashtags