问题标签 [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 回答
3391 浏览

python - 为 PyQT5 的 QWebView 提供资源

如何将桌面应用程序的资源(html、css、js、字体等文件)提供给 QWebView(在 PyQT5 中)?

我想要的是:

  1. 如果可能,PyQT5 的 Webkit 引擎使用自定义方案(例如说custom://app/jquery.js并返回文件)处理请求的资源。
  2. 如果可能,为该自定义方案处理标准 http 动词(GET、POST、...)。

如果这两个是不可能的(至少不可能以纯 Pythonic 方式):

  • 如何拦截来自嵌入式 Webkit 的请求并根据 url 中的模式(比如一些正则表达式)提供资源(html、css、js (?<controller>[^/])/(?<action>[^/]))?
0 投票
2 回答
8566 浏览

ubuntu - PyQt5 - SIP API 10 级错误。需要 API 11

反馈

我正在使用兼容 PyQt5 (>= 3.3.2) 的标准 Python3 (3.3.2+) 解释器进行 PyQt5 安装(基于 Qt5.2.1 / Sip 4.15.5 API 11 ???),因为它不是可以在 Ubuntu 12.04 上编译 Python3.3-5,然后无法安装 PyQt5(python 3.3.2 或更高版本)。

平台

安装过程中一切似乎都运行良好,PyQt5 导入工作,但是当我尝试通过 python3 解释器导入模块时,出现此错误:

安装步骤:

  • 使用标准 X64 linux 安装程序安装 Qt5.2.1
  • 从源安装 SIP 4.15.5
  • PyQt5 来自 RiverBank 过程中提到的编译源,针对 compile.py 选项中的 qmake 程序:

    python3 configure.py --qmake /opt/Qt/5.2.1/gcc_64/bin/qmake --sip /usr/bin/sip

包装地点:

  • Qt-5.2.1 根目录:/opt/Qt/5.2.1/gcc_64
  • PyQt5 根目录:/usr/lib/python3.3/site-packages

小口版本

我的python环境变量是:

$PATH 变量:

$LD_LIBRARY_PATH 是空的(不认为它很重要,但我更愿意提及它......)

site-pacakges 目录的内容是:

但在以前的安装中是不同的。不知道为什么!:

我不知道问题出在哪里,我在这个产品上工作的越多,我理解的就越少。我正在 Ubuntu 13.10 上进行此安装,因为 PyQt5 由于 Python 3.3-5 编译错误而无法在 Ubuntu 12.04 上运行......仍然没有答案。...

请帮忙。

提前致谢。

0 投票
1 回答
8742 浏览

python-3.x - PyQt5 - Error import QtWidgets QtGui

I'm running Ubuntu 13.10 (python-3.3.2+) . I've installed Qt5.2.1 (linux installer) , SIP 4.15.5 & PyQt5 both from source of the official site.

PyQt5 build :

The Qt qmake is located here

My python path

Qt5 libraries (shorten list for display purpose):

I ran the following commands in the source directory extracted from the official PyQt-gpl-5.2.1.tar.gz tarball :

Issue:

I can only import a restricted set of modules

I can import QtCore, QtNetwork ... as listed in /usr/local/python3.3/sites-packages/PyQt5 :

But I can't import QtWidgets, QtGui .. and so on.

It seems that the PyQt5 libraries are not all copied here.

The same problem is described in this post ... but unfortunately with no response from the RiverBanck's team :

Any idea?

0 投票
3 回答
23978 浏览

python - 我应该在我的 PyQt 应用程序中使用 `app.exec()` 还是 `app.exec_()`?

我使用 Python 3 和 PyQt5。这是我的测试 PyQt5 程序,关注最后两行:

我知道exec是 Python 中的语言关键字。但是官方 PyQt5 文档中的代码 (特别是退出时的对象破坏部分)。我看到那个例子显示了使用app.exec()which 让我感到困惑。

当我在我的机器上测试它时。我发现与我的结局没有任何明显的区别。有和没有_在没有时间差的情况下产生相同的输出。

我的问题是:

  • 我使用时有什么问题app.exec()吗?喜欢与 Python 的内部冲突exec?我怀疑是因为两者exec都在执行某些操作。
  • 如果不是,我可以互换使用两者吗?
0 投票
2 回答
1885 浏览

python - 给定一个 pyqtBoundSignal 如何确定插槽?

给定信号,我如何确定特定信号连接到的插槽?

我熟悉如何连接信号和插槽,这更多是出于调试目的。

我正在使用 pyqt5,python 2.7

0 投票
1 回答
425 浏览

python - PyQt5 QSqlDatabase 在没有任何文本错误的情况下无法打开

我写了自己的类扩展了 QSqlDatabase:

但 open() 返回 False,而 lastError() 不显示任何内容。我的错误是什么?

Python 3.3 PyQt 5

0 投票
2 回答
3777 浏览

qt - 是否可以设置 QTableView 角按钮的文本?

QTableView 有一个角按钮,占据水平和垂直表头的交点。单击此按钮将选择表格中的所有单元格。我想知道是否可以设置此按钮的文本,如果可以,如何设置?

0 投票
1 回答
1355 浏览

python-3.x - cx_freeze 创建程序的多个实例

我正在尝试使用编译一些Python 3.3代码cx_freeze,编译后生成的test.exe文件将创建无限数量的程序实例,导致我的 Windows 7 系统变得不稳定。它在 Python 中运行时按预期工作,但一旦编译它就会导致问题。这是我在主脚本中的导入:

setup.py脚本:

当我运行时python setup.py build,会出现以下错误:

尽管有这些错误,它仍然会生成一个test.exe文件。当我执行它时,它会生成看似无限数量的窗口,阻止它的唯一方法是硬重置计算机。同样,主脚本在 Python 下运行良好,但编译后失败。任何帮助将不胜感激!

编辑:根据要求,这是我的主要脚本:

0 投票
2 回答
3670 浏览

python - 继承QAbstrctitemModel、PyQt时使用Lists作为QModelIndex中的internalPointer

我正在尝试在 Python 中将列表包装在 QAbstractItemModel 中,以允许我使用 PyQt 附带的 GUI 优势将列表视为树。准确地说,我使用的是 PyQt5 和 Python 3.3。

我试图显式地生成指向列表项的指针,但在识别父项时遇到了麻烦。我没有分配它们,我不确定 PyQt 在执行 createIndex 时如何或是否分配它们。然后我决定重写代码以明确识别使用索引(行值)访问的项目,例如给定嵌套列表 ["A",["a",[1,2,3]],"B", "C",["b",[4,5,6],"d"]] 然后我可以使用 [4,1,1] 指向 5,然后使用相同的列表减去最后一项来检索父项, [4,1]。

我的问题是这个。当我使用从行值生成的列表时,CREATEINDEX 方法会使代码崩溃。我的最小损坏示例(MBE)如下。取消注释其中带有“return self.createIndex(row,col,ptr)”的两行,以查看我描述的细分。

我不明白 QModelIndex 是如何在 CREATEINDEX 中创建的,为什么它会在 INDEX 方法中动态生成的列表崩溃。对我来说,应该在调用之间保留 INTERNALPOINTER,然后传递一个列表就可以了。

让我感到困惑的另一件事是何时以及为什么调用父级和索引。据我了解,索引向下遍历树,父级向上遍历。因此,对 INDEX 的调用在 (row,col) 处标识父级的子级,而 PARENT 是一个子级并确定父级。是参照内部指针完成的吗?如果是这样,为什么 QmodelIndex 会维护它自己的 PARENT 方法。似乎 Qt 维护它自己的内部树,它根据索引和父项之间的调用建立项目之间的层次结构。那就是总是有两棵树,一棵用于我的模型,一棵用于展示。

0 投票
1 回答
65863 浏览

python - 如何在 PyQt/PySide 中将 QComboBox 设置为项目文本中的项目

是否可以将 QComboBox 设置为仅知道项目文本值的项目?我试图避免循环for i in range(myCombobox.count())只是为了找到一个项目的索引,所以它可以用来设置当前索引。