TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #380 · 21 окт.

Регулярно приходится писать и ревьюить код, где используется PySide2-6. Заметил, что в подавляющем большинстве случаев настройка создаваемых базовых виджетов происходит через методы. Думаю, всем знаком такой способ. Простой пример с кнопкой: button = QPushButton("Click Me") button.setMinimumWidth(300) button.setFlat(True) button.setStyleSheet("font-size: 20pt") button.setToolTip("Super Button") button.clicked.connect(lambda: print("Button clicked")) Но есть и альтернативный способ - настройка через свойства. Это просто ключевые аргументы конструктора класса. Хоть они и не указаны в документации как аргументы, но они есть) Этот код делает тоже самое но с помощью Property button = QPushButton( "Click Me", minimumWidth=300, flat=True, styleSheet="font-size: 20pt", toolTip="Super Button", clicked=lambda: print("Button clicked"), ) Где это может быть полезно ▫️ Это выглядит более аккуратно и коротко, уже повод использовать ▫️ Может использоваться в заполнении лейаута, когда нам не нужно никакое другое взаимодействие с виджетом и поэтому сохранять его в переменную не требуется. Например, лейбл или кнопка. widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) layout.addWidget(QLabel("Button >", alignment=Qt.AlignRight)) layout.addWidget(QPushButton("Click Me", clicked=lambda: print("Button clicked"))) widget.show() Либо так widget = QWidget(minimumWidth=400) layout = QHBoxLayout(widget) for wd in ( QLabel("Button >", alignment=Qt.AlignRight), QPushButton("Click Me", clicked=lambda: ...) ): layout.addWidget(wd) widget.show() ▫️ Можно хранить настройки в каком-то конфиге или генерировать на лету, после чего передавать как kwargs. kwargs = {"text": "Hello " * 30, "wordWrap": True} my_label = QLabel(**kwargs) Как получить полный список доступных свойств? Эта функция распечатает в терминал все свойства виджета и их текущие значения def print_widget_properties(widget): meta_object = widget.metaObject() for i in range(meta_object.propertyCount()): property_ = meta_object.property(i) property_name = property_.name() property_value = property_.read(widget) print(f"{property_name}: {property_value}") #tricks#qt

Hashtags

Резултати

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

Пребарај: #amine

当前筛选 #amine清除筛选

ℹ️ Episode 1 of the Anime Series on NFT by RoOlz! Today marks the release of the first episode of the NFT anime series by RoOlz! This unique project combines animation and blockchain technology, offering viewers not only an exciting story but also the chance to own exclusive digital assets. The series is based on an original plot and includes interactive elements, allowing viewers to influence the storyline. 📹Join the viewing and be part of a new era in animation! RoOlz App | Website | NFT | News #TON#NFT#roolz#web3#amine

💎RoOLZ Raised 1M in Funding with TON Ventures leading the Round! ℹ️ RoOLZ Studios is building the future of Fan Owned Entertainment. A crossover of short-form Web2 Content, with Mobile Apps on Telegram & Web3 assets on TON Blockchain. 🔝 The Funding will be used to expand it's inhouse IP, forge IP Partnerships and build out integrated consumers apps on Telegram. ⚡️ RoOLZ Currently has 8M App users, of which 3.5MAU. It's the #10 NFT in all-time Volume on #Getgems 💯 Some other key results: 🔷RoOLZ Season 1 has been viewed >10M times. 🔷Over 8M Players have played the RoOLZ Mini-Games. 🔷And more then 35K fans have made in-app purchases. 💲The RoOLZ token $GODL, is coming out in October. 📹Join the viewing in the RoOLZ App! RoOlz App | Website | NFT | News | X #TON#NFT#roolz#web3#amine