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

Пребарај: #dowww

当前筛选 #dowww清除筛选
📓 Real Spencer Woo

@realSpencerWoo · Post #161 · 04.05.2020 г., 13:38

#WSL#dowww#Windows#Netlify 🎮 Dev on Windows with WSL 在 Netlify 上部署的版本出了个非常拉跨的 bug:直接访问内页或者进入某一页之后再刷新,都会会导致当前侧边栏无法点击,没法导航。大家可以来围观一下我在 Netlify Community 上发的 issue:VuePress deployment on Netlify succeeds, but experience errors when reloading specific pages。 然鹅 Vercel(也就是之前的 ZEIT)就没有这个问题(咱也不知道为啥…),可能考虑最近迁移过去,大家来看看这两个 URL 哪个访问更快一些: * Vercel 版本:https://dowww.now.sh * Netlify 版本:https://dowww.netlify.app PS:这两个链接都是原始链接,没有套我域名的 Cloudflare CDN。

📓 Real Spencer Woo

@realSpencerWoo · Post #60 · 07.01.2020 г., 13:56

#GitHub#Windows#WSL#更新#dowww 🎉🎉🎉 历经快半个月的时间,我终于将 Dev on Windows with WSL 重构完成!Dev on Windows with WSL 迎来了 v1.0.0 的里程碑!本次文档重大更新,所有内容几乎全新开始。感谢大家的关注和期待 (✿◡‿◡) Dev on Windows with WSL 新版入口 | GitHub 仓库 🍗 本次重点更新在于对 WSL 2 进行详细介绍,以及对 VS Code 利用 Remote 远程开发组件包连接 WSL 环境的配置方法的详细讲解。除此之外,文档还增加了 WSL 与 WSL 2 的架构对比、WSL 与 WSL 2 的详细安装方法、VS Code 利用 WSL 环境开发各种语言项目的配置方法…… 🥟 同时,文档主网站 VuePress 版本更新到 ^1.0,引入了更细腻的 smooth-scroll、Medium 风格的图片预览,重新设计了强调色和侧边栏样式,还嵌入了 Algolia 文档搜索服务。另外,在 VuePress 默认主题的基础之上,还增加了版本归档、版本切换的功能。 💗 一年多之前,更确切的来说,2018 年的国庆期间,Dev on Windows with WSL 仅仅是我一个个人的项目,而且仅仅是一篇文章。到今天,我和几位 Contributors 已经撰写了超过 5 个部分的 18 章内容,获得了 360+ Stars,解决了 20 余个问题,合并了 10 余个 PR。感谢大家的关注,鞠躬。 🌟 本条消息欢迎大家奔走相告,让更多的同学了解如何在 Windows 上用 WSL 优雅开发。欢迎大家去 GitHub 上面 Star 项目,你的支持是我更新的最大动力~笔芯 (´▽`ʃ♡ƪ) 📮 Via channel: @realSpencerWoo