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

Резултати

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

Пребарај: #noob

当前筛选 #noob清除筛选
Pensive|

@PensivePost · Post #5170 · 06.05.2021 г., 06:10

I knew a girl who liked to draw, Pictures for only her eyes. She was more artistic late at night. Her drawings were different, No paper, No pen. But she needed a bandage, And wore long sleeves twenty-four/seven. We stood by the river, Under the stars, When she rolled up her sleeves And showed me her scars. She felt embarrassed and stared at her shoe. Then I rolled up my sleeves and whispered, "I draw too." #review#yourreview#noob

Pensive|

@PensivePost · Post #4753 · 17.01.2021 г., 14:31

Honesty for one, behold my love. I'll come in your dreams, For every night that I'm gone. Honesty for one, Behold my Love. #review#noob#prose Author's note: This might not make sense because: There's a song that I only remember by the deep voice of the singer, the melody and the vague-not-so-understood lyrics. These are the words that match that voice and my feelings. And obviously not the exact lyrics.

Pensive|

@PensivePost · Post #5159 · 01.05.2021 г., 16:22

It came from something we can't even see, It took so many lives and gave us the malady, The death, the pain, the anger the disability, Old people say they never witnessed such calamity. With heavy heart, Hope is alive and this is the fact, May the God help us to face all of this, Some people are still doing something wrong, Hope they'll get the fruits of their Unholy act. #anon #noob #review

Pensive|

@PensivePost · Post #5158 · 01.05.2021 г., 16:21

It came from something we can't even see, It took so many lives and gave us the malady, The death, the pain, the anger the disability, Old people say they never witnessed such calamity. With heavy heart, Hope is high, will is strong and this is the fact, May the God help us to face all of this, Some people are still doing something wrong, Hope they'll get the fruits of their Unholy act. #anon #noob #review

Pensive|

@PensivePost · Post #5157 · 01.05.2021 г., 16:20

It came from something we can't even see, It took so many lives and gave us the malady, The death, the pain, the anger the disability, Old people say they never witnessed such calamity. With heave heart, Hope is high, will is strong and this is the fact, May the God help us to face all of this, Some people are still doing something wrong, Hope they'll get the fruits of their Unholy act. #anon #noob #review

Elf Crypto VIP

@elfcryptovip · Post #12659 · 11.05.2026 г., 10:34

📍 List of abbreviations commonly used in cryptocurrency trading: #ALTCOIN = Alternate cryptocurrency except bitcoin #SHITCOIN = A coin with no potential value or use #BEAR | #BEARISH = Negative price movement #BULL | #BULLISH = Positive price movement #LONG = Margin buy position #SHORT = Margin sell position #BTFD = Buy The Fucking Dip #DILDO = Long green or red candles 😆 #DYOR = Do Your Own Research #FA = Fundamental Analysis #TA = Technical Analysis #FOMO = Fear Of Missing Out #JOMO = Joy Of Missing Out #FUD = Fear Uncertainty & Doubt #HODL = Hold a position #MCAP = Market Capitalization #MOON = Continuous upward movement of price #OTC = Over The Counter #PUMP = Upward price movement #DUMP = To sell off a coin #REKT = When you have a bad loss #WHALE = Very wealthy trader/Market mover #AMA = Ask me anything #ATH = All Time High #ATL = All Time Low #DLT = Distributed ledger technology #IMO = In My Opinion #LAMBO = Lambo is symbol that becomes an elusive goal for most investors #NOOB = A person who is inexperienced #SAFU = Secure Asset Funds for Users #SHILL = Holder of altcoin who just wants to promote it for his own benefit ✅@ElfCryptoVIP