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

Резултати

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

Пребарај: #migrationaccounting

当前筛选 #migrationaccounting清除筛选

🌟New avatar and sections for our channel! 🌟 Dear applicants! 🎉 We are happy to present you our new avatar! Now our channel looks even more attractive and modern💫. But that's not all! We have also created a number of informative sections to make the content more interesting and useful for you🤗. The following sections will be implemented on our channel: ❓#QuestionAnswer - ask your questions and get answers! 📚#MigrationAccounting - we will tell you about the peculiarities of migration registration and stay of foreign students on the territory of the Russian Federation. 🏆#Olympiad - you will get up-to-date information about the ONLINE-OLIMPIAD "FEMIDA" for citizens of foreign countries. 📜#AcceptingForeigners - we will provide you with an algorithm of admission to study at the Russian State University of Justice for foreign citizens under the quota of the Government of the Russian Federation. 🎓#StudentLife - in this section we share impressions and tips about student life. 📖#HistoricalInformation - learn interesting facts about the history of Russia. 🎉#RussianHolidays - you'll get an idea of Russian holidays and important traditions. 🗣️#RussianLanguage - this section will immerse you in the peculiarities of the Russian language and give you tips on how to learn it. Follow new posts, take part in discussions and feel free to ask questions! We are here to help you😊! Thank you for joining us! ❤️