问题标签 [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.
python - Python 2.7 的 Qt5 和 QtQuick 2 绑定
我想将 Qt5 和 QtQuick2 与 PyQt 之类的绑定一起使用,但似乎 PyQt 唯一可用的构建是 Python 3.3。Python 2.7 有什么可以使用的绑定吗?
python - 在 Qt (PyQt) 中将资源读入字节数组
如何将资源文件(比如在文件中声明assets/font-awesome/fonts/fontawesome-webfont.ttf
并使用编译到模块)读取到字节数组、字节字符串(b'')和字符串('')中?assets/jquery/js/jquery-1.11.0.min.js
myresources.qrc
pyrcc5.exe
myresources.py
我已经成功地实现了一个自定义模式处理程序(处理诸如 myscheme://controller/action/?param1=100 之类的请求,从QNetworkAccessManager
和派生类QNetworkReply
)。我需要这个,因为如果以后这个应用程序应该上线,我将体验(更多)无缝迁移过程。
现在我需要QWebView
在我的自定义方案中提供资源(html、css、js、图像、字体等)中的文件。我试过QFile
了,这是readAll
方法。
这是我的代码:
似乎f.readAll()
什么都不做。
python - 无法将 QAbstractListModel 传递给 QML
我正在使用 PyQt5 尽可能接近这个 PySide 教程。当我运行我的代码时,我收到了这个错误:ReferenceError: pythonListModel is not defined
,并且列表显示为黑色,没有项目。
这是我的代码
我的模型和包装
和我的 QML
为什么 Qt 找不到我的 contextProperty?
qt - 如何知道 QML QListView 中所选项目何时更改?
我正在使用 QtQuick 2.0 和 QML ListView 来显示一些项目,我需要知道用户何时选择了不同的项目。当用户单击委托中的鼠标区域时发出信号,即
但仅当用户使用鼠标选择项目时,如果用户使用箭头键则不起作用。
我一直在查看文档以查找currentIndex
更改时发出的信号,但我似乎找不到任何信号。我正在寻找类似的东西,QListWidget::itemSelectionChanged()
但似乎 QML ListView 没有。
python - PyQt5 QLabel 错误
在 PyQT4 中有一个QLabel()
当我在 PyQT5 中使用它时,它会抛出一个未定义的错误。
谁能告诉我 PyQT4 中的 Qlabel 是什么?
或者也许我错了?
这是我的代码:
python - PyQT Python 错误 - 无法在没有 QApplication 的情况下创建 QWidget
我在 python 中创建了以下代码:
但是在执行它时,我得到了这个错误:
python - 使用 PyQt,监视窗口大小和调整布局的首选(有效)方法是什么?
我在 PyQt 中有一个项目网格,当用户修改窗口大小时,我需要相应地增加/减少列数。行数由滚动区域处理,所以我不需要担心 y 方向的变化(如果重要的话)。
在我的 QMainWindow 实现中,我知道可以覆盖 resizeEvent() 函数,该函数将在任何和所有窗口调整时触发。但是,每次都使用它来重建网格是非常低效的。只是为了测试该函数以了解它是如何工作的,我让 resizeEvent 仅打印一个字符串,这导致我的窗口调整稍微滞后并且视觉上不完美(抖动而不是平滑)。我可能会对窗口大小运行一个简单的除法运算,看看它是否变大或变小到足以改变列数,但即便如此,每次调整运行一百次时,也可能会导致滞后问题。重建整个网格甚至可能需要一秒钟的时间,所以当用户正在操作窗口时最好不要这样做。
有没有更有效的方法,或者 resizeEvent 是我唯一的选择?理想情况下,我想要一个仅在用户完成调整窗口后触发的事件,而不是在几乎每个像素移动发生时触发的事件(在 1 秒内每次调整可能会触发数百或数千次) .
我正在使用 PyQt5,但如果您更熟悉 PyQt4,我可以在 PyQt5 的上下文中找出您的 PyQt4 解决方案。对于 C++ Qt4/5 解决方案也是如此。
python - Pyplot 在交互时崩溃
我有一个可以使用按钮刷新的 pyplot。这工作正常。但是,如果我尝试与 pyplot 交互(移动、调整窗口大小、缩放等),它会崩溃:
是eclipse说的。
下面是重现故障的最小运行示例。由于我是 python 新手,我的猜测是问题出在我的代码中。
系统:Win7 64、Python 3.3.5、PyQt 5.2.1、Scipy-stack 14.4.1
使用 plt.draw() 而不是 plt.show() 没有明显的区别。
qt - 为什么 QLabels 被覆盖而不是被删除?- 见图片
我的 UI 的 QGridLayout 有问题。在这里,我尝试创建响应用户加载的文件的 UI。第一次加载时,QGridLayout 会更新以反映文件的内容,一切都很好。但是,下次加载文件时,应该删除网格内的小部件(调用 deleteLater() 来执行此操作)。正在发生的事情是它们刚刚被覆盖。
图片可能会有所帮助 - 这是您在重复加载两个不同文件后看到的内容。您可以看到“传输消息”和“字段”文本很好。
我正在使用的代码如下。如果有人觉得这里没有发现错误,而是在代码的其他地方发现了错误,我可以发布更多。但似乎在这里找到了令人反感的逻辑。特别是,每次调用都创建一个新的 QLabel 有问题吗?
python - 捆绑包(只是--onefile)
请阅读所有这篇文章并帮助我。
我想--onefile
用 pyinstaller 创建可执行文件。
我在开发方面有这些:
- 视窗 8.1 x64
- Qt 5.2.1
- 蟒蛇 27
- PyQt5.2.1(使用 Visual Studio 2012 构建)
- 视觉工作室 2012
- PyInstaller 2.1
- pyWin32
这些在部署端(VirtualBox)(作为一个干净的VM):
- 窗户 8 x64
- vcredist_x64 2012
这是我要构建的简单python程序:
好的,当我将其构建为--onedir
( pyinstaller main.py
) 时,它在开发方面和部署方面都可以正常工作。
当我将它构建为--onefile
( pyinstaller -F main.py
) 时,它在开发方面工作正常,但在部署方面不起作用。
并给出这个错误:
此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows”。
可用的平台插件有:minimal、offscreen、windows。
重新安装应用程序可能会解决此问题。
我的错是什么?或者这栋楼有什么问题?
就此错误而言,它找不到临时文件夹中qt5_plugins
的文件夹中的文件夹。_MEIxxxxx
或者,你认为问题出在sys
模块上吗?如果是,我该怎么办?
感谢您提前回复
更新:
我应该说我在构建时有这个警告和错误:
1024 警告:没有这样的文件 C:\Python27\msvcp90.dll 1024 警告:程序集不完整 1026 错误:未找到程序集 amd64_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
更新2:
我手动添加了msvcp90.dll
,并解决了这个警告和错误。msvcm90.dll
c:\Python27
更新 3:
qt.conf:
主要规格:
qt5_plugins
使用pyinstaller
有平台插件自动创建的。我认为它不需要手动添加为extralib。