问题标签 [pyside6]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 使用 PySide6 的 QFontMetrics 宽度
我的代码中有以下行:
它适用于 PyQt5,但我试图将代码移动到 PySide6,当我这样做时,我得到了错误AttributeError: type object 'PySide6.QtGui.QFontMetrics' has no attribute 'width'
我试过阅读 QFontMetrics 文档,但我所做的一切似乎都给出了同样的错误。关于如何将此行转换为 PySide6 的任何想法?谢谢!
qt - PyInstaller 打包 PySide6 应用程序无法加载 qtquick2plugin.dll
我有一个 PySide6 + QML 应用程序可以使用 PyInstaller 打包到 exe 文件中。
这是我的代码:
main.qml
主文件
电机规格
打包后pyinstaller motor.spec
,我将plugins
,qml
和translations
文件夹从 python/site-pack/PySide6 文件夹复制到 exe 的 PySide6 文件夹。
当我运行exe文件时,我得到:
qtquick2plugin.dll
实际存在的。
我的 python 版本是 3.8.6
PySide==6.0.0
pyinstaller==4.2
python - 如何将布局添加到 QStackedLayout?
我正在尝试向 QStackedLayout 添加一些布局。
但是,它会引发警告:
QStackedLayout::addItem:只能添加小部件
可以使用 QStackedLayout 来操作其他布局吗?或者可能应该使用其他方式来切换布局?
python - 使用 QThread 将 Pyqt5 程序转换为 Pyside6
我用 QThread 观看了 Pyqt5 的教程,但我的窗口是用 PySide6 制作的,我无法转换它。
这是 PyQt5 中的代码:
主要问题是pyqtSignal
Pyside 中似乎不存在。如果你能帮助我,非常感谢,我是 GUI Python 的新手,所以这个问题可能有点愚蠢,但我真的找不到我能理解的教程......
python - PySide6 上的自定义文件浏览器实现
我想在 PySide6 上实现文件浏览器,我的目标是:
- 始终在顶部显示文件和文件夹
..
(无论排序如何),以便用户可以双击它并上一级。 - 在
..
我想显示文件夹然后显示文件(就像 Windows 资源管理器一样)之后,不管排序如何。 - 有一个显示特定文件集的替代显示模式(它们可以位于不同的驱动器、不同的文件夹等)。
我目前正在使用以下代码来初始化模型和视图:
而不是 QFileSystemModel() 我实际上使用的是我的自定义 QFileSystemModel 和一个附加列。
我遇到的问题是:
..
与其他内容一起排序,不会出现在顶部- 排序后目录不停留在顶部
我不明白我正在解决的问题的最佳方法是什么。
我看到以下选项:
- 使用 QSortFilterProxyModel 并以某种方式强制
..
始终位于顶部,无论排序(不确定是否可能)并且还首先保留目录(有一个相关的问题),我也可以将它用于上面的第 3 点以按某些标准显示文件 - 使用完全不同的方法,可能是我将手动填写的 QFileSystemWatcher 或 QTreeWidget(
..
始终保持在最前面似乎在任何情况下都会造成麻烦)。 - 加载或排序后以某种方式添加
..
到 QTreeView 的顶部
我尝试实现 QSortFilterProxyModel,但遇到了另一个问题:我不明白应该如何修改treeView.setRootIndex()
调用。
所以我的具体问题是:
- 我可以使用 QSortFilterProxyModel 来解决上面提到的所有问题吗?如果是,请提供示例实现。
- 如果您认为有更好的方法来解决这个问题,请描述它。
python - 将网格布局小部件保持为正方形
这应该很容易,但是看着不起作用的建议答案,我变得越来越困惑。我想要做的就是能够在网格布局中有一堆小部件,其中调整窗口大小将导致网格内的小部件被调整大小以尽可能填充空间但保留它们的纵横比(在这种情况下为正方形这是一个 2x2 的正方形网格)。
这是我没有任何失败尝试的代码。我最初计划将窗口本身限制为固定的纵横比,但也无法让它工作。我将满足于具有此功能的框架(或其他小部件/布局)。限制正方形大小并不重要,只要它随着窗口拉伸和收缩,同时保留正方形内容。我在这里使用 PySide6,但是使用 PyQt5 的解决方案就可以了。C ++,虽然不是很多,但我懂它。是否需要自定义处理大小调整?我似乎无法让 heightForWidth 工作。
python - 使用 QFileSystemModel 或 QAbstractItemModel 在 QTreeView 中显示自定义文件列表
我正在构建一个基于自定义文件浏览器的开源 PySide6 应用程序QTreeView
。我已经进行了子类QFileSystemModel
化以显示带有一些额外数据的自定义列。
现在我的目标是在树视图中显示特定的文件子集(它们可以位于不同的驱动器上)。
为了简化事情想象我有一个功能:
现在我需要在我的QTreeView
. 我尝试使用QSortFilterProxyModel
andfilterAcceptsRow
过滤掉其他所有东西,它起作用了。但是,在相对大量的文件上,它非常缓慢且无法使用。我很确定更简单的自定义文件树会运行得更快,因为 afaik 会QFileSystemModel
跟踪文件夹状态并运行其他我可以不用的额外内容。
我不知道如何解决这个问题。我基本上看到了两种方式:
以某种方式从
QFileSystemModel
. 有了这个解决方案,我不完全理解我是如何做到这一点的。特别是,如何用我的函数中的数据填充模型?它如何使用setRootPath
?子类
QAbstractItemModel
。这个解决方案或多或少很清楚,但是,它缺少一些QFileSystemModel
开箱即用的重要东西:我需要它提供的列和数据(名称、大小、类型、修改日期),我还需要文件/我使用的文件夹图标QFileIconProvider
。
所以基本上我想使用一个轻量级的版本QFileSystemModel
而不看文件系统和我的文件列表。
我对替代解决方案持开放态度。
pyqt5 - 使窗口的一部分在视觉上透明并且对于鼠标输入也是透明的
我正在 Ubuntu 20.04 上编写 Qt5 PySide2 脚本。
我想让窗口的一部分透明,比如一个框架,这样我就可以看到窗口下方的其他窗口程序(如 Firefox、LibreOffice 等)。(如果这是不可能的,那么如果整个窗口都是半透明的就可以了,我已经知道该怎么做,但我还需要在旁边显示一些按钮和其他小部件并能够与它们交互)。我能够做到这一点
在我的应用程序是透明的(部分(我喜欢)或整个窗口(这是完全可以接受的),无论解决方案如何)的地方,我还需要能够与下面的程序进行交互。我能够做到这一点
当我尝试将这两个功能结合起来时,问题就出现了。在第一种情况下,我得到一个透明窗口,但无法与下面的内容交互。在第二种情况下,我得到一个不透明的窗口,但我可以与下面的内容进行交互,尽管是以盲目的方式。
我看到通过添加Qt.FramelessWindowHint
解决这两个问题,但是我不能再移动窗口,我还想保留标题窗口的装饰,比如 x 用于关闭窗口或 - 用于最小化它。
我的最终目标是在我的程序中在透明的 Qt5 画布上绘制箭头,最终用户可以看到箭头,可以看到下面的网页并可以与该网页进行交互。但不仅是浏览器,我希望残障人士和老年人也能在其他程序中获得视觉辅助。正是通过这种方式,我宁愿只有部分 GUI 是透明的(我已经说过框架),因为用户应该始终看到程序位于其他应用程序之上。
谢谢
python - 如何在跨度级别使用 Qt 富文本中的 padding、margin 等?
对于我的 QTextEdit,我想带来一些非常基本的嵌套亮点,这是我在W3Schools 上玩弄“试试看!”时制作的。看起来像这样。
据我所知,我只使用了 Qt支持的 HTML 子集中的东西(请参阅下面代码中的 HTML,仅使用填充、边距和背景颜色)。
我无法获得类似的渲染,只有背景颜色似乎有效。
我做了一个新项目,使用硬编码的 HTML/样式而不是我的程序生成来进行简单的测试,但它仍然没有按应有的方式呈现。
这是代码。
这是结果,缺少大量样式,我是疯了还是根据文档看起来不应该基本相同?不缺少使“嵌套”更清晰的填充?
似乎边距问题不是未知的边距样式在 qt 富文本标签中没有影响,但也没有人回答这个问题。
有人知道任何修复/解决方法吗?或者这被记录为 Qt 的已知限制?
我如何使用 pyqt5 中的 QTextEdit 来显示 html 的所有样式(包括 css 的样式)也是相关的,但不是重复的,它只是指向它所遵循的 CSS 的文档,它不包括为什么它不' t 遵循,或如何遵循它所说的标准。
python - 项目结构设计:工具栏图标存储在哪里以及如何访问它们
我正在开发一个包含一组图标图像的 GUI 项目。我本能地img
在根项目目录中创建了一个目录。
我正计划使用我的应用程序的根类作为存储此类内容的地方,并将QIcon
对象收集在字典中
那么问题是如何最好地从层次结构中的几个类访问这些图标。当我使用tkinter
该结构时,结构非常线性,因为每个小部件都是其父级的子级。
我设置Qt
应用程序的方式(使用PySide6
),基类是QApplication
. 在这里,我构造了一个QMainWindow
,在其中设置了各种小部件(中央小部件、工具栏、状态栏等)。
随着应用程序复杂性的增长,有什么好的策略可以很好地扩展?我是否应该将与特定小部件相关的图标存储为该特定类的类属性(并因此在整个代码中传播图标对象)?我喜欢将图标对象放在一个位置的想法。
我将代码分隔在不同的目录中,但基本上结构是这样的(MWE):