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 слични објави

Пребарај: #eukazrelations

当前筛选 #eukazrelations清除筛选
EU in Kazakhstan 🇪🇺🇰🇿

@euinkazakhstan · Post #1143 · 31.01.2025 г., 04:40

The Ambassador of the European Union to Kazakhstan, Aleska Simkic, met with the Deputy Prime Minister – Minister of Foreign Affairs of the Republic of Kazakhstan, Murat Nurtleu. During the meeting, the parties engaged in a detailed discussion on the current state and prospects of EU - Kazakhstan cooperation. They also reviewed the schedule of planned mutual visits and high-level events for the current year. Ambassador Simkiс welcomed the high dynamics of interaction and expressed her readiness to make every effort to develop bilateral relations. The sides exchanged views on key issues of the international and regional agenda and particular attention was given to the liberalization of the EU visa regime for Kazakhstani citizens. 🇪🇺🇰🇿 Еуропалық одақтың Қазақстандағы Елшісі Алешка Симкич ҚР Премьер-Министрінің орынбасары – Сыртқы істер министрі Мұрат Нұртілеумен кездесті. Сұхбат барысында тараптар ЕО - Қазақстан ынтымақтастығының жағдайы мен перспективаларын толыққанды талқылап, ағымдағы жылғы биік және жоғары деңгейде жоспарланған екіжақты сапарлар мен іс-шаралар кестесін қарастырды. Елші Алешка Симкич өзара іс-қимылдың жоғары қарқынын құптап, екіжақты қарым-қатынастарды дамытуға күш салуға дайын екенін білдірді. Кездесу барысында халықаралық және өңірлік күн-тәртібінің негізгі мәселелері бойынша пікір алмасу өтіп, Еуроодақтың Қазақстан азаматтары үшін визалық режимін жеңілдету мәселесіне ерекше назар аударылды. #EUinKZ#EUKAZrelations