Articles of pyqt

使用Qt进行多重处理在Windows而不是Linux下工作

我正在使用Qt来开发GUI应用程序。 当我尝试使用multiprocessing创build另一个QApplication时出现错误: RuntimeError:一个QApplication实例已经存在 我有一个主窗口,其中包含一个产生新进程的button,以便我可以创build一个新的GUI实例。 基本上是这样的: from PySide.QtCore import * from PySide.QtGui import * import multiprocessing import sys class MainWindow(QMainWindow): def __init__(self, parent=None): super(MainWindow, self).__init__(parent) btn = QPushButton('run new instance') btn.clicked.connect(self.create_daemon) self.setCentralWidget(btn) def create_daemon(self): p = multiprocessing.Process(target=new_window) p.start() def new_window(): app=QApplication(sys.argv) ex = MainWindow() ex.show() sys.exit(app.exec_()) if __name__=="__main__": app=QApplication(sys.argv) ex = MainWindow() ex.show() sys.exit(app.exec_()) 它在Windows中工作,但在Linux中给出了RuntimeError 。 […]

在ActiveX小部件中加载PDF

我正在尝试将PDF加载到QAxWidget : self.axWidget = QAxContainer.QAxWidget() self.axWidget.setProperty("geometry", QtCore.QRect(630, 20, 501, 651)) self.axWidget.setControl("Adobe PDF Reader") self.axWidget.dynamicCall("LoadFile(const QString)", "test.pdf") 但是,它只加载一个空的灰色背景: 我一直在寻找替代品,外部库,python pdf-to-png库,然后只是简单地加载一个图像等等。但是目前为止我发现的每一个结果似乎都是这个任务的矫枉过正。 所以,由于Qt实际上支持ActiveX控件,我可以在哪里查看一个正在运行的示例,或者Python的dynamicCalls的特定文档,以便将PDF加载到QAxWidget中 ? 我只需要它作为只读数据,所以即使它的图像将工作。

应用程序不在原始系统下工作

我有一个python GUI应用程序,我使用pyQt4。 我使用bbfreeze构build二进制文件(在我使用py2exe之前,但是对电子邮件模块无效)。 在我构build这个应用程序的系统上,一切工作正常,但是当我将它安装在原始窗口(没有所有那些vc_redist和一组python库)二进制不起作用。 我应该从哪里开始寻找解决scheme,因为我没有消息/exception/崩溃,它只是从命令行运行后立即结束。 我预测,如果我从“构build系统”安装一些工具,我会运行它。 这是唯一的方法吗? 我的意思是,如果我find缺less的lib(如果是lib问题),将这个库添加到bbfreeze脚本将解决这个问题? 干杯

我应该安装什么版本的PyQt(32 vs 64)

我正在运行Windows 8.1 64位,但有Python 2.7.10 32位 。 现在我正在尝试使用Windows安装程序来安装PyQt。 我应该下载什么版本? PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x64.exe Windows 64位安装程序 PyQt4-4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe Windows 32位安装程序 我有64位的 Windows,但32位的 Python,我想做一个32位的可执行文件。 我认为我应该安装32位 ,这是真的吗?

PyQt:QStyledItemDelegate在QTableView在Windows Vista / 7?

我想要一个单元格/行在QTableView看起来像这样: 在运行Ubuntu时, QStyledItemDelegate适用于QTreeView和QTableView ,但是在Windows上,它只能在QTreeView上QTreeView ,并且只有在不重新实现paint方法的时候。 所以我的两个问题是: 如何让QStyledItemDelegate看起来像上面的图像在QTableView ? 如何在重新实现paint时使QStyledItemDelegate看起来像上面的图像? 文字旁边的图像是不必要的。 我只是寻找风格hover和select框。 以防万一这是需要的,我的Qt版本是4.7.2。

pyqt4程序,如何让win安装程序

我已经在pyqt4中编写了一个应用程序。 它在linux中工作,我想它应该在Windows中工作,没有任何改变(没有什么系统特定的)。 我想为Windows做一个安装程序,所以windows用户之前没有在他们的系统上使用python和pyqt。 那么有没有办法做到这一点?

如何在Python / PyQt中模拟真正的键盘按键?

我需要编写一个用于input文本的虚拟键盘,我打算使用Python和Qt(PyQt)库来执行此任务。 问题是我不知道如何模拟KeyPress不是内部的Qt事件,而是模拟一个真正的键盘,所以我可以使用这个键盘就像真正的一个 – 与我的电脑上的应用程序交互。 我在Qt文档中找不到任何关于此的信息。 那么有没有办法通过PyQt / Qt来完成,或者我需要使用一些Python库,以及哪些?

在Linux上的PyQt应用程序冻结屏幕,在Windows上罚款

我一直在Windows上编写一个PyQt应用程序,我想看看它能否在Linux上正常运行。 gui应用程序基本上是用于qtconsole / notebook上的科学工具包的shell。 Linux和Windows系统都基于Anaconda 3.5,并运行PyQt5。 它可以在Windows上正常工作,但是当我在Linux上运行时,Qt窗口会popup窗口,将窗口下方的graphics冻结(参见下图)。 在命令行中没有显示任何错误,只是popup窗口,根本不显示小部件。 此外,当我尝试closures窗口顶部的xbutton时,它显示“应用程序不响应”对话框,我不得不强制执行。 代码基地是相当大的(这个post太大),所以我真的不能真正能够在这个问题的代码示例(我还没有能够重现这个程序之外的错误)。 我可以说,我确实从这个网站的一些简单的GUI程序工作的例子: https : //github.com/Deusdies/pythonbo 。 我的代码有很多的小部件子类化,使用pyqtgraph(来自github的最新版本)的情节,并有很多的MDI子窗口。 其他底层工具包的软件包包括: numpy,numba,scipy,matplotlib lmfit pyexcel,pyexcel-xlsx pyvisa,pyserial pyperclip 当我尝试运行任何MDI子窗口小部件作为单独的程序时,我遇到与运行主程序相同的问题。 我想我很好奇,如果有人遇到过这种情况,并可以build议可能的事情,我应该探讨,看看可能是什么问题。

PySide在Windows中 – 删除angular落的填充

例如,如果我添加QStatusBar到我的窗口,我看到太宽angular落: self.stat = QtGui.QStatusBar() widLayout = QtGui.QVBoxLayout() widLayout.addWidget(some_pannel) widLayout.addWidget(self.stat) self.setLayout(widLayout)

在Windows中从subprocess中检索stdout

我可以调用FFmpeg与subprocess.Popen并检索我需要的数据,因为它发生(取得进展),但只在控制台。 我环顾四周,发现用pythonw运行时无法获取数据。 然而,等到整个过程完成检索数据是没有意义的,因为我试图包装一个PyQT的graphics用户界面周围FFmpeg,所以我可以有漂亮的进度条和什么。 所以问题是,当你使用pythonw的时候,你可以从一个subprocess中调用“实时”数据吗? 我还没有尝试简单地使用py2exe编译应用程序,但作为一个Windows应用程序,会解决这个问题吗?