问题标签 [pyqt4]

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.

0 投票
1 回答
3153 浏览

qt4 - 将多个 QStyledItemDelegate 与样式表一起使用

我正在使用双重调度创建一个样式化的 QTreeView 来解析数据项的特定委托,这很好用。我将 QStyledItemDelegate 中的委托子类化以利用样式表,使设计人员能够在代码之外设置 UI 样式。

不幸的是,我无法从 CSS 中处理不同的样式。如何选择和使用样式表中指定的项子控件样式?

我正在测试的 CSS:

我的委托渲染类:

0 投票
3 回答
8489 浏览

qt4 - Qt4 样式表和焦点矩形

我想使用样式表 :focus 伪状态来控制树视图焦点状态的表示。使用以下样式表效果很好,除了 Qt 系统仍然绘制它自己的焦点矩形。我如何要求 Qt 不绘制焦点矩形,同时仍然能够集中控制键盘输入?

0 投票
1 回答
5738 浏览

python - python qt引发语法错误

我有一个在 python 中产生语法错误的顶级小部件。raise() 在第 15 行。这是使用 python Qt 绑定。我知道 raise 是 python 的保留字。我正在寻找如何使用 python 绑定调用 Qt“raise()”函数。

0 投票
4 回答
4542 浏览

python - PyQt4 - 小部件未显示

我用 Python 和 Qt4 制作了这个程序。

解释器没有给我任何错误,但没有显示“彩色”小部件。为什么?感谢

0 投票
2 回答
1536 浏览

python - 类之间的 PyQt4 信令

我有一个类族(基于相同的父类),它们是 QTableWidget 中的数据单元(所以它们都是从 QItemDelegate 派生的)。

我正在尝试创建一个信号,表明这些类可以传递给控制器​​以传达数据更改。

我找不到完成的正确组合(尽管进行了很多实验和阅读)。这是我的班级结构:

基类:

示例子类(仅相关部分——如果需要更多信息,则为 LMK):

这是我的大师班的相关部分:

上面的代码给出了“底层 C++ 对象已被删除”。我试过这个:

有什么建议么?我不必使用这种方法,而是需要一种从各个控件中获取数据的方法。

TIA

麦克风

0 投票
3 回答
9182 浏览

qt - QT4:是否可以使 QListView 平滑滚动?

我有一个图标模式的 QListView 有很多图标,所以会出现一个滚动条,但是滚动不流畅,这个恕我直言,因为它在每次滚动时突然从一个点跳到另一个点,所以让用户感到困惑。我想让滚动平滑,但我在文档中没有找到任何内容。是否可以?

0 投票
4 回答
2524 浏览

internationalization - 使用 gettext 而不是 QObject.tr() 来本地化 PyQt4 应用程序的利弊?

我有几个用 PyQt4 编写的应用程序,我使用标准 Python gettext 库进行 GUI 的国际化和本地化。它对我有用。但我选择 gettext 只是因为我已经拥有 gettext 使用的知识和经验,并且对 Qt4 tr() 方法的经验为零。

现在我想更好地比较这两种方法,并通过使用 gettext 而不是 QObject.tr 来了解我所缺少的东西,并且有什么严重的理由为什么我不应该将 gettext 用于 Qt4/PyQt4 应用程序?

据我了解,使用 gettext 的优点是:

  • GNU gettext 是成熟的,它似乎是 GNU/Linux 世界中事实上的标准。
  • PO 文件有足够的特殊编辑器来简化翻译人员的工作,尽管 PO 模板的文本性质使其不是绝对必要的。
  • 甚至还有可用于协作翻译的网络服务。
  • gettext 是标准的 Python 库,所以我不需要安装任何特殊的东西就可以在运行时使用它。
  • 它对通过 ngettext() 选择单数/复数形式有很好的支持。

我认为 QObject.tr() 的优点:

  • 这是 Qt4/PyQt4 的本机技术,所以它可能会更好/更快地工作(尽管我没有数据可以证明)。
  • 要翻译的消息可能有额外的上下文信息,这将帮助翻译者选择同音词的最佳变体,例如英文单词“Letter”可以翻译为“Character”、“Mail”甚至是“Paper size”,具体取决于实际的上下文。

我认为 QObject.tr() 与 gettext 的缺点:

  • 我没有在 Qt 文档中找到如何支持单数/复数选择。
  • Qt4 TS 翻译模板是 XML 格式,因此在没有特殊编辑器(QT Linguist)的情况下编辑起来更加复杂,而且似乎没有其他第三方解决方案或 Web 服务。因此,翻译人员需要学习新工具(如果他们已经熟悉 PO 工具)。

但以上所有项目都不足以明确说明任何工具优于其他工具。而且我不想就什么是更好的问题展开激烈的战争,因为它非常主观。我只想知道我缺少 QObject.tr() 与 gettext 的优缺点。

0 投票
2 回答
4972 浏览

python - qtablewidget 的 pyqt 自定义项目委托

我有一个包含 5 列的 QTableWidget,如何将第 2 列的所有项目设置为 QProgressBar?

我试过类似的东西:

DownloadDelegate 在哪里:

但是进度条根本不显示。任何的想法?

0 投票
7 回答
30117 浏览

python - PyQt4 信号和槽

我正在用 PyQt4 编写我的第一个 Python 应用程序。我有一个 MainWindow 和一个 Dialog 类,它是 MainWindow 类的一部分:

我使用插槽和信号。这是在 MainWindow 中建立的连接:

我尝试在 Dialog 类中发出信号(我确定它已发出):

不幸的是,插槽没有被调用。我也尝试了不带参数的不同风格的发射信号。代码中没有错误,没有警告。可能是什么问题?

0 投票
1 回答
1031 浏览

python - PyQt4 拖放

Qt4 支持拖放操作,我在教程中使用过它们。现在我希望能够将外部元素(文件)拖到 GUI 表单中并基于它执行操作(例如获取完整路径并将其复制到某处)。

我不确定这是否是 Qt 无法做到的限制。有人知道如何使用 Qt 做到这一点吗?只需将文件拖入 GUI...

谢谢,马吕斯