问题标签 [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 投票
2 回答
2652 浏览

python - PyQt4:数据绑定?

从 .NET 世界转向 Python 和 PyQt4。想知道是否有人熟悉任何可以让我将数据绑定到 Qt 小部件的功能?例如(使用 sqlalchemy 处理数据):

这样的事情可能吗?

0 投票
1 回答
241 浏览

python - 切换数据库 API 会失去或得到什么?(从 pywin32 和 pysqlite 到 QSql)

我正在编写一个 Python (2.5) GUI 应用程序,它执行以下操作:

  • 从 Access 导入到 Sqlite 数据库
  • 将 ui 表单设置保存到 Sqlite 数据库

目前我使用 pywin32 读取 Access,使用 pysqlite2/dbapi2 读取/写入 Sqlite。

但是,某些 Qt 对象在更新 Sqlite 数据库时不会自动转换为 Python 或 Sqlite 等效项。例如,QDate、QDateTime、QString 等会引发错误。目前我正在维护转换功能。

我使用 QSql 进行了调查,这似乎克服了强制转换问题。此外,它能够连接到 Access 和 Sqlite。这两个好处似乎允许我重构我的代码以使用更少的模块而不是维护我自己的转换函数。

我正在寻找的是任何 SO 社区因切换到 QSql 而经历的重要副作用、性能增益/损失、功能增益/损失的列表。

到目前为止,我遇到的一个功能损失是无法使用 QODBC 驱动程序使用 Access 函数(例如,'SELECT LCASE(fieldname) from tablename' 失败,'SELECT FORMAT(fieldname, "General Number") from tablename')

0 投票
2 回答
2002 浏览

python - QSortFilterProxyModel.mapToSource 崩溃。没有信息为什么

我有以下代码:

代码在第二行崩溃了。没有引发异常。没有回溯。没有警告。我该如何解决?

0 投票
3 回答
749 浏览

python - 如何在仍然记录错误的同时向用户显示错误?

我正在使用 PyQt4 用户界面。我已将 stderr 重定向到一个日志文件,以便于调试和故障排除,但现在我需要在发生错误时向用户显示错误消息。

我的问题是我需要在异常发生时捕获它并让用户知道它发生了,但仍然让回溯传播到 stderr(即日志文件)。

如果我做这样的事情:

这将捕获异常并且不会传播到错误日志。

有没有办法向用户显示消息,然后继续传播错误?

这行得通吗?

有没有更好的方法来实现我的目标?

0 投票
3 回答
7218 浏览

qt - 如何在 qt 中使用默认图标

我只使用Qt(虽然是PyQt)并且当我调用例如QMessageBox.warning() 时我没有得到图标。有没有办法使用平台的默认图标?目前我正在使用更完整的 QMessageBox 构造函数并调用 setIconPixmap。

0 投票
1 回答
2330 浏览

python - 尽快将 ctypes 数据转换为 python 字符串

我正在尝试在 PyQt4 中编写一个视频应用程序,并且我已经使用 Python ctypes 连接到一个旧的遗留视频解码器库。该库为我提供了 32 位 ARGB 数据,我需要将其转换为 QImage。我的工作方式如下:

问题是ctypes将数据输出为“ ctypes.c_char_Array_829440”类型,我需要将其转换为python字符串,以便我可以构造一个QImage。我的复制机制目前每张图像需要将近 300 毫秒,因此速度非常慢。该过程的解码和显示部分只需要大约50ms。

谁能想到我可以采取任何巧妙的捷径来加快这个过程并避免像我目前正在做的那样复制缓冲区两次?

0 投票
1 回答
1592 浏览

qt - PyQt4中的QTableView选定元素

有什么方法可以读取QTableView用户选择了 Qt 小部件的哪一行?跟QModelIndex上课有关系吗?

0 投票
7 回答
17999 浏览

python - PyQt4 最小化到托盘

有没有办法在 PyQt4 中最小化托盘?我已经使用过 QSystemTrayIcon 类,但现在我想最小化或“隐藏”我的应用程序窗口,并且只显示托盘图标。

有人做过吗?任何方向将不胜感激。

在 Window XP Pro 上使用 Python 2.5.4 和 PyQt4

0 投票
1 回答
275 浏览

user-interface - 区分设计器和运行时代码

我有两个相互交换消息的进程。进程 A 是一个普通(即非 qt)程序,它向进程 B 发送消息。进程 B 是一个 QT GUI 应用程序,将接收到的消息显示到一个文本框中。

我创建了一个自定义小部件(称为 ShowMessages),它继承自 QPlainTextEdit,并在计时器到期时从管道读取消息,并将它们附加到文本框中。代码并不是这样设计的(我认为这将是非常糟糕的设计),但这只是为了让事情变得简单。由于我不知道的原因,当我使用 qt-designer 创建表单时,进程 A 无法关闭。

问题是当我使用 qt 设计器时(因此选择 ShowMessages 小部件并将其放在窗口中),即使我在设计器中,小部件也开始显示消息。这个功能很酷,但问题是当我保存表单时,已经存在的消息保存在 .ui 文件中,这导致当我启动进程 B 时出现不良行为(因为进程开始显示我在创建阶段收到的消息) .

我可以在进程 B 启动后清理文本框,但我认为避免消息出现在 .ui 文件中要好得多。我想要的是能够为小部件编写这样的代码:

是否有 qt 函数可以知道我是否在设计器中?你认为区分设计器和运行时代码是“坏的”吗?

(抱歉有错误,但英语不是我的主要语言)

0 投票
1 回答
2914 浏览

python - 如何使用 QSocketNotifier (linux) 观看串口?

如果/dev/ttyS0出现问题,有人可以给我一个示例,说明如何设置 QSocketNotifier 来触发事件吗?(最好在 python/pyqt4 中)