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

Резултати

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

Пребарај: #kickstarter

当前筛选 #kickstarter清除筛选
Viral Today

@Viral_Today · Post #2049 · 31.10.2022 г., 18:00

This origami styles foldable computer mouse reached its goal on Kickstarter within 23 minutes of the launch. The mouse weights just 40 grams and with its foldable design you can easily take it anywhere with you YouTubeNews/ #technologies#kickstarter

Вчера запустили новый проект Incendium. Это первый артбук немецкого художника Dominika Mayer-a. В этом проекте я соавтор: сделал специальную версию книги, в которой кроме уже моих шрифтов, находится моя каллиграфия и новая обложка книги. Кроме прочего, для запуска книги вырезал лимитированную А2 линогравюру с тиражом 15 штук. Весь процесс создания я заснял, получился красивый фильм о создании: пожалуй, самый удачный из всех предыдущих. Мой принт уже нельзя купить — за первый день всё раскупили. Сбор средств за сутки уже собрал 50к евро. Впереди еще месяц, будем посмотреть, как далеко мы зайдем! Ссылка на проект: https://www.kickstarter.com/projects/spiridon/incendium В ближайшее время буду активней выкладывать процессы работ, так как в апреле все силы ушли на этот проект, а рассказывать до запуска нельзя было ничего. Всем желаю хорошей недели! #шрифт#дизайн#каллиграфия#kickstarter#artbook