Python pyqtgraph如果为';它在gui中
不幸的是,pyqtgraph和由QtDesigner的.ui文件制作的最小GUI有问题: 如果我运行此代码,其中包含GUI代码和一个pyqtgraph代码示例(从第行开始:Python pyqtgraph如果为';它在gui中,python,pyqt4,qt-designer,pyqtgraph,Python,Pyqt4,Qt Designer,Pyqtgraph,不幸的是,pyqtgraph和由QtDesigner的.ui文件制作的最小GUI有问题: 如果我运行此代码,其中包含GUI代码和一个pyqtgraph代码示例(从第行开始:#-*-编码:utf-8-*-): GUI和绘图窗口都会启动并运行,但绘图不是交互式的,因为我会独立运行pyqtgraph示例代码 我想这是因为评论了这段代码: ## Start Qt event loop unless running in interactive mode or using pyside. # if __n
#-*-编码:utf-8-*-
):
GUI和绘图窗口都会启动并运行,但绘图不是交互式的,因为我会独立运行pyqtgraph示例代码
我想这是因为评论了这段代码:
## Start Qt event loop unless running in interactive mode or using pyside.
# if __name__ == '__main__':
# import sys
# if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
# QtGui.QApplication.instance().exec_()
但是如果我取消注释这几行,绘图窗口将以交互模式启动,但我的GUI窗口在关闭绘图窗口之前不会显示
如何使它们(GUI和绘图窗口)在交互模式下与绘图窗口同时显示
有什么建议吗?为了让PyQt小部件正常工作,他们需要在创建小部件之前创建一个
QApplication
,在这种情况下,您没有任何beforepg.GraphicsWindow()
。解决办法是:
...
import sys # <---
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
app = QtGui.QApplication(sys.argv) # <---
win = pg.GraphicsWindow()
...
if __name__ == "__main__":
if not QtGui.QApplication.instance(): # <---
app = QtGui.QApplication(sys.argv) # <---
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'): # <---
sys.exit(QtGui.QApplication.instance().exec_()) # <---
。。。
导入sys#@eyllabesc:非常感谢您的帮助!它工作正常。
...
import sys # <---
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
app = QtGui.QApplication(sys.argv) # <---
win = pg.GraphicsWindow()
...
if __name__ == "__main__":
if not QtGui.QApplication.instance(): # <---
app = QtGui.QApplication(sys.argv) # <---
Dialog = QtGui.QDialog()
ui = Ui_Dialog()
ui.setupUi(Dialog)
Dialog.show()
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'): # <---
sys.exit(QtGui.QApplication.instance().exec_()) # <---