python - 使用 raw_input 会导致 PyQt 页面加载出现问题

标签 python pyqt4 stdin raw-input qwebpage

我正在使用 PyQt4 将凭据输入域登录页面,并从域中的几个其他页面提取数据。当从代码中提供登录或搜索凭据时,一切都完全按照预期进行。当我打开 raw_input 以允许用户输入信息时,它会导致尝试下载网页之一时挂断。我无法提供有关页面本身的信息,因为它位于公司网络上,但简单地使用 raw_input 会导致 QWebpage 加载问题是没有意义的。

QNetworkManager 抛出预期的 3 或 4 个 .finished 信号中的 1 个,而 QWebpage 框架从不抛出 .loadfinished 信号,因此它只是挂起。

(我尝试刷新标准输入以及seek(0),这给了我一个错误的文件描述符错误)。有人遇到过这样的问题吗?

最佳答案

raw_input 使用同步/阻塞 IO,而不给 Qt 机会继续在后台处理事件。 Qt 并没有真正准备好以这种方式停止处理。理论上,它应该在 raw_input 完成后恢复。但也许与此同时发生了超时或类似的情况。使用 Qt 时,您确实应该使用基于信号/事件的输入。

如果 GUI 交互正常,您应该尝试 QInputDialog::getText,因为它看起来像是来自外部的阻塞调用,但在内部让 Qt 继续处理后台作业。

关于python - 使用 raw_input 会导致 PyQt 页面加载出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30926097/

相关文章:

python - Python 是否支持假设作为前提条件?

python - Matplotlib NavigationToolbar 重叠图(在 PyQt4 嵌入中)

python - 有没有什么办法可以让油漆变得更光滑,像素不可见?

python - 如何使用QtWebKit设置浏览器的大小

c - 将行存储到动态结构中

python - docker python apis中是否有docker inspect?

python - 如何找到将 N 个观察值分配到 M 个组的最佳方法?

python - 如何使用 Tkinter 按钮从 python 运行 exe

powershell - 在 Windows PowerShell 中重定向标准输入\输出

c - 在 C 中同时使用管道标准输入和键盘