交互式python-保持控制台与GUI主循环交互

问题描述 投票:2回答:3

我想知道如何创建一个GUI应用程序,并从启动它的控制台中进行交互。

例如,我想在PyQt中创建一个GUI并从控制台使用它。这可能用于测试设置而不重启应用程序,但是在较大的项目中也用于调用函数等。

这是一个使用PyQt的简单示例:

import sys
from PyQt4 import QtGui

def main():
  app = QtGui.QApplication(sys.argv)
  w = QtGui.QWidget()
  w.show()
  sys.exit(app.exec_())

if __name__ == '__main__':
    main()

当以python -i example.py运行时,只要执行主循环,控制台就会被阻塞。

如何在GUI运行时打电话给w.resize(100,100)

python user-interface console nonblocking interactive
3个回答
0
投票

操作,之前发布错误答案

[Stack中有关于这个的帖子

Execute Python code from within PyQt event loop


0
投票

最简单的方法是使用IPython:

ipython --gui=qt4

请参阅ipython --helponline documentation了解更多选项(例如gtk,tk等)。>>


0
投票

以下示例使用code模块在命令提示符下运行控制台(请确保从命令行运行脚本)。 Subclassing QThread提供了一种途径,使控制台可以在与主GUI线程不同的线程中运行,并可以与其进行一些交互。下面的存根示例应该足够容易地集成到更大的打包的PyQt程序中。

© www.soinside.com 2019 - 2024. All rights reserved.