QWidget:必须在Spyder中的QPaintDevice - PyQt4之前构造一个QApplication

时间:2017-04-05 09:22:31

标签: python qt pyqt4

我知道有几个与此问题相关的帖子,但我找不到适合我脚本的解决方案。我尝试添加一些if name ==' main '但实际上我不明白问题出在哪里。

问题是该脚本在我第一次运行时工作。但是IPython内核第二次崩溃,所以我每次都要重新启动一个新内核。 我正在使用这个脚本通过GUI使用Python 2.7 64位和PyQT4在Windows机器上的Spyder编辑器中控制USB模拟设备。 非常感谢。

from PyQt4.QtCore import *
from PyQt4.QtGui import *
import sys
import USB3101 as U 


def FromSlider(VChan, Box):
    Slider = Window.sender() 
    Percentage = Slider.value()
    U.SetPower(VChan,Percentage)
    Box.setValue(Percentage)

def FromBox(VChan, Slider):
    Box = Window.sender()
    Percentage = Box.value()
    U.SetPower(VChan,Percentage)
    Slider.setValue(Percentage)

app    = QApplication(sys.argv)
Window = QWidget()

Slider = QSlider(Qt.Vertical)
Slider.setMinimum = 0
Slider.setMaximum = 100
Slider.valueChanged.connect(lambda : FromSlider(U.VChan1,Box))

Box = QSpinBox()
Box.valueChanged.connect(lambda : FromBox(U.VChan1,Slider))
Box.setMinimum(0)
Box.setMaximum(100)

Layout = QVBoxLayout()
Layout.addWidget(Slider)
Layout.addWidget(Box)
Window.setLayout(Layout)

Window.show()
app.exec_()

1 个答案:

答案 0 :(得分:0)

通过设置参数来在专用的Python控制台中执行scrit我每次重新启动脚本时都不会崩溃内核。