Python PyQt4示例在空闲时工作,但在npp中执行时不工作

Python PyQt4示例在空闲时工作,但在npp中执行时不工作,python,pyqt,notepad++,nppexec,Python,Pyqt,Notepad++,Nppexec,我正在PyQt4中运行一个非常基本的示例。如下所示。我一直在努力安装Enthow Canopy,努力使用cygwin Python实现,最后一次只安装一个Python 2.7、Numpy 1.7.1和MatPlotLib 1.2.0 当我从IDLE执行这个示例时,它工作得很好。虽然当我尝试使用nppExec从记事本++执行它时,控制台窗口只是挂起。我没有看到任何地方弹出一个小的空窗口,也没有给我任何错误代码 我从nppExec(-I)尝试了交互模式和非交互模式 我的nppExec命令是pyt

我正在PyQt4中运行一个非常基本的示例。如下所示。我一直在努力安装Enthow Canopy,努力使用cygwin Python实现,最后一次只安装一个Python 2.7、Numpy 1.7.1和MatPlotLib 1.2.0

当我从IDLE执行这个示例时,它工作得很好。虽然当我尝试使用nppExec从记事本++执行它时,控制台窗口只是挂起。我没有看到任何地方弹出一个小的空窗口,也没有给我任何错误代码

  • 我从nppExec(-I)尝试了交互模式和非交互模式
    • 我的nppExec命令是
      python“$(完整当前路径)
  • 我试着从函数定义中提取代码的精华,并自己运行它,同样的事情

  • Python 2.7.4
  • 记事本++6.3.2
  • PyQt4.10.1

    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('Brian')
        w.show()
    
    sys.exit(app.exec_())
    
    
    if __name__ == '__main__':
        main()
    

在NppExec中,使用命令

CMD /C python -u "$(FULL_CURRENT_PATH)"
而不是

python "$(FULL_CURRENT_PATH)"
我也有同样的问题。 使用
w.showmized()
而不是
w.show()
为我解决了在记事本++中不显示窗口的问题。后续打开的小部件可以使用
w.show()
打开

但是,您的代码对我不起作用,我得到了一个Python回溯。相反,我使用(与PySide一起):


并且,作为一种解决方法,只需在调用
w.showMaximized()
后添加
w.resize(width,height)
之类的内容,即可将窗口大小调整为目标大小。

我使用Python 2.7.9、Notepad++5.9.6.2(oO)和PySide 1.2.2,尽管我相信这一切都是正确的,这是一个乏味的解决方法…它涉及到实际更改您计划运行的每个程序中的代码。另一方面,@MikoRoc的回答完美地解决了这个问题,根本不涉及代码。这非常有效。。。除了我需要在参数周围加上括号(我认为CMD只需要一个字符串),所以我的看起来是这样的:
CMD/C“C:\Program Files(x86)\Python36-32\python.exe”-u“$(FULL\u CURRENT\u PATH)””
import sys
from PySide import QtGui

app = QtGui.QApplication(sys.argv)

def main():

    w = QtGui.QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Brian')
    w.showMaximized()
    app.exec_()


if __name__ == '__main__':
    main()