无法运行PyQt4示例

时间:2013-05-05 08:25:50

标签: python cygwin pyqt4

我试图通过Notepad ++运行pyqt4示例。我之前提到了这个问题(Nothing happens when running PyQt4 example code),最后卸载了Enthought Canopy以及python的所有残余并安装了cygwin。现在,当我运行示例代码时,我从npp的控制台得到以下错误。 nppExec命令 - > C:\cygwin\bin\python2.7.exe -i "$(FULL_CURRENT_PATH)"。示例代码一直显示在底部。

我能得到的最接近的是启动cygwin x(从bash shell输入startx),我可以在其中获取示例窗口,但我无法退出窗口。

我觉得我在这里过头了,我只是想创建一些简单的GUI,我只是为了得到一个工作的例子而苦苦挣扎。 Cygwin的python安装是否缺乏经典的IDLE?

C:\cygwin\bin\python2.7.exe -i "C:\Users\Brian\Dropbox\Python\PYqt_practice.py"
Process started >>>
cygwin warning:
  MS-DOS style path detected: C:\Users\Brian\Dropbox\Python\PYqt_practice.py
  Preferred POSIX equivalent is: /cygdrive/c/Users/Brian/Dropbox/Python/PYqt_practice.py
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
C:\Users\Brian\Dropbox\Python\PYqt_practice.py: cannot connect to X server 
<<< Process finished. (Exit code 1)
================ READY ================

PyQt4示例代码

import sys
from PyQt4 import QtGui


def main():

    app = QtGui.QApplication(sys.argv)

    w = QtGui.QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    sys.exit(app.exec_())


if __name__ == '__main__':
    main()

1 个答案:

答案 0 :(得分:0)

与Cygwin一起安装的PyQT4和PyQT5直接模拟他们的等效Linux软件包的功能,这意味着他们希望你运行X服务器。专用于Windows的软件包显然不是。

基本上你有两个选择:

  1. 放弃Cygwin并使用专用于Windows的软件包,不需要X服务器。 (您也可以在Cygwin环境中运行非Cygwin python,但这会让您感到头疼,例如使用Unicode。)
  2. 为Cygwin安装X服务器,如下所示:

    1. 获取xorg-server
    2. 运行startx
    3. 如果这会导致您遇到问题,请尝试:

      1. 运行xwin -multiwindow而不是startx
      2. 现在托盘中会出现一个图标。

        1. 用鼠标右键单击
        2. 将鼠标悬停在&#34;应用程序&#34;
        3. 点击xterm
        4. 恭喜!您刚刚在X环境中运行了xterm shell。看看你的申请现在是否有效。