2017-04-05 30 views
0

我知道有几个帖子与此问题相关,但我找不到适用于我的脚本的工作解决方案。我试图加入一些如果名称 ==''但我其实不明白问题在哪里。QWidget:必须在QPaintDevice之前构建一个QApplication - Spyder中的PyQt4

事情是这个脚本第一次运行它。但是IPython内核第二次崩溃,所以每次都必须重新启动一个新内核。 我使用这个脚本来控制一个USB模拟设备,通过一个带有Python 2.7 64位和PyQT4的GUI,在windows机器上的编辑器Spyder中。 非常感谢。

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_() 

回答

0

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

相关问题