问题标签 [pyqt5]

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 回答
112 浏览

python - virtualenv 编译找不到 python27.lib

我正在尝试为virtualenv编译PyQt5。问题是它正在寻找in ,它解析为我的 virtualenv 中不存在的 libs 目录。这是virtualenv 1.11。有一个包含文件夹,但没有 libs 文件夹。Python27.libsys.prefix + '\\libs'

似乎其他人会遇到这个问题,无论是使用PyQt还是其他东西。有没有比手动将 libs 文件夹复制到虚拟环境中更好的解决方案?

0 投票
1 回答
753 浏览

python - 调用一个函数并让它多次调用

我在 PyQt5 中遇到了一个问题,如果我有一些函数,它会调用它,但是到目前为止我已经调用了很多次。我将尝试淡化相关代码。

现在,每次我调用 i.buy_ship 时,它都会调用它,但到目前为止我已经调用了很多次(第一次调用,第二次按下按钮调用两次,等等)。我觉得好像它必须在 play() 中,但我一辈子都找不到它。

编辑Player 类中添加的 buy_ship 功能

0 投票
0 回答
604 浏览

python - pyqt5 中的 Pickle.load

我在使用 pickle 加载序列化数据的 MainWindow 时遇到问题。
只是一个简单的主窗口

即使我确实调用了 MainWindow 的 super,但由于发生运行时错误,我无法进行保存:

0 投票
3 回答
57294 浏览

python - 有专门针对 PyQt5 的教程吗?

我正在寻找 PyQt5 教程。在没有教程的情况下,第一次使用 Python 开始 GUI 开发是相当复杂的。

到目前为止,我只找到了一些 PyQt4 教程,并且由于从 Qt4 到 Qt5 发生了一些变化,例如 Qt5 不再支持这一事实SIGNALSLOT因此如果有针对 PyQt5 的特定教程会很好。

有人可以提供有关如何使用 PyQt5 开始 GUI 开发的教程吗?

0 投票
1 回答
2861 浏览

python - 自定义 pyqtSignal 实现

在 PyQt 中,您可以使用它QtCore.pyqtSignal()来创建自定义信号。

我尝试自己实现观察者模式来代替pyqtSignal它的一些限制(例如,没有动态创建)。

它在大多数情况下都有效,至少有一个区别。

这是我到目前为止的实现

注意到的一件事是QObject.sender()工作方式的不同。

我通常不使用sender(),但如果它的工作方式不同,那么其他事情也可能如此。

对于常规pyqtSignal信号,发送者始终是信号链中最近的小部件。

在底部的示例中,您将看到两个对象,ObjectA并且ObjectB. ObjectA转发来自 Window 的信号ObjectB并最终被 Window 接收。

pyqtSignal,接收的对象sender()ObjectA,是转发信号的对象ObjectB

对于上面的 Signal 类,接收到的ObjectB对象是链中的第一个对象。

为什么是这样?

完整示例

更多参考

编辑:

抱歉,我应该提供一个用例。

以下是使用 pyqtSignals 的一些限制:

pyqt信号:

  1. ..仅适用于类属性
  2. ..不能在已经实例化的类中使用
  3. ..必须预先指定您希望发出的数据类型
  4. ..产生不支持关键字参数的信号和
  5. ..产生实例化后无法修改的信号

因此,我主要关心的是与基类一起使用它。

考虑以下。

列表类型容器小部件的 6 个不同小部件共享相同的界面,但外观和行为略有不同。基类提供基本变量和方法以及信号。

使用 pyqtSignal,您必须首先从至少 QObject 或 QWidget 继承您的基类。

问题是这些都不能用作混合或多重继承,例如,如果其中一个小部件也继承自 QPushButton。

使用上面的 Signal 类,您可以改为创建没有任何先前继承的类(或只是对象)的基类,然后将它们用作任何派生子类的混合。

小心不要提出关于多重继承或混合是否好的问题,或者其他实现相同目标的方法。我也很想得到你的反馈,但也许这不是地方。

我会对向 Signal 类添加位以使其类似于 pyqtSignal 产生的工作更感兴趣。

编辑2:

刚刚注意到一个反对票,所以这里有更多用例。

发出时的关键字参数。

可以改为写成

与 Builder 或任何类型的依赖注入一起使用

松耦合

我同时使用 PyQt4 和 PyQt5。使用上面的 Signal 类,我可以为两者生成基类,而无需依赖其中任何一个。

0 投票
1 回答
801 浏览

python - 在 QLabel 中呈现 WSQ 图像的最佳方法是什么

我正在尝试在 PyQt5 的 QLabel 中呈现 WSQ 图像。WSQ 图像位于 xml 文件中,该文件位于 zip 文件中。这是我的方法:

第二行但最后一行导致程序冻结/挂起,但如果我这样做:

我可以在 WSQ 查看器中查看图像。我了解 Qt 有用于不同图像格式的插件,是否有我缺少的图像插件?

在此先感谢您的帮助。

-亚伯拉罕。

0 投票
1 回答
970 浏览

python - 将SQL数据转换成QTextDocument,然后输出pdf

我正在尝试添加一种将 sqlite3 数据库中的数据导出到 pdf 文档的方法。在《使用 python 和 Qt 进行快速 gui 编程》一书中,它说我可以将 QTextDocuments 导出为 pdf 文件。但是它需要采用 QTextDocument 的形式。目前,我一直在尝试将表的一串标题转换为 pdf 文档作为测试,但是当它空闲运行时,它会重新启动。

我想知道我哪里出错了,还有一种简单的方法可以将 SQL 查询中的数据转换为 QTextDocument 格式的表格,因此我不必手动格式化它。由于我的编程知识非常有限,请简单解释一下。

0 投票
1 回答
2186 浏览

python - PyQt QListView retrieving item after item edited by user interface

I'm working with Python 3.3 PyQt5. I have an QListView widget which is contains some items. I want to retrieve item when user double-click to item and edit it so I can save its new value to a database. But I can't find any SIGNAL like edit finished or something useful.

I displayed list within this way. I want to retrieve edited word with editWord() method. How can I execute editWord() after item in the listView changed?

0 投票
2 回答
8160 浏览

python - I need help making a menu bar in PyQt5

I have been trying to implement a menu bar in my program for a few days now and i cant seem to get one running. I would like someone to look at my code and give me a template to follow to making a menu bar.

The method changeFilePath is what I would like to be called when a menu option called 'Change user database location' is called from the menu bar File. I have read that actions are the key to this but when every i have tried to implement them they haven't worked.

0 投票
0 回答
157 浏览

python - 在 PyQt/Qt 应用程序窗口中加载外部应用程序

是否可以在 PyQt 应用程序窗口或框架内加载应用程序。 例如在 Qt GUI Window 中加载 MOZILLA FIREFOX。实现这一目标的可能性是什么。请告诉我。