2009-11-11 101 views
1

我有几个问题。几个关于PyQt的问题

我有一个算法,将产生一对情侣在蟒蛇的图片,必须在表中显示的。我正在使用PyGt。我的问题是:我应该在哪里运行我的代码?从初始化程序?在这种情况下,从我测试的情况来看,表单不会显示出来。

  • 我应该设立在 构造函数,开始我的算法 半秒钟后,一个计时器?
  • 将运行算法冻结我 形式使其无法看到 图片本身?我不介意的 按钮,复选框等冻结而 它是计算,只要 当前画面仍清晰可见。
  • 我应该使用类似C#的 OnFormLoad()?如果是的话,我该如何设置 呢?通过connect()?
  • 线程如何在python上工作? 我听说过,但我不太确定 有关它,这是一个痛苦的交易 与。是吗?在c#中,写入4行就像 一样简单。我想如果可能的话用它 ,但如果它会是 很难实现它,我可以住 离不开它。

感谢

回答

4

你可能要检查的Mandelbrot example。基本上这个想法是使用一个工作线程来完成大量的计算(我建议使用QThread来通过使用信号/插槽来简化与主线程的通信),然后一旦工作完成后就发出一个信号计算出的数据并让主线程画出它。如果你喜欢,你也可以在工作者线程中渲染图像。

1

结束时,您可以在一个单独的线程中运行的算法,将数据放置到一个队列中。主线程(GUI)将定期对队列进行采样并在数据到达时显示数据。