【问题标题】:add pyqtgraph (plot) into QApplication将 pyqtgraph(绘图)添加到 QApplication
【发布时间】:2014-08-19 15:03:58
【问题描述】:

你,

太好了,我用 QTDesigner 创建了 MainWindow.ui 文件。然后我使用以下命令将此 gui 导入到我的 .py 文件中:

form_class = uic.loadUiType("ess_project.ui")[0]  

如果我用 pyuic4 编译这个 .ui 文件有什么区别? (每次我编译我的 .ui 文件时,我都会收到以下错误:

RuntimeError: the sip module implements API v11.0 to v11.1 but the PyQt4.QtCore module requires API v10.1

MainWindow 创建第一个窗口,放置所有按钮等。

class MainWindow(QtGui.QMainWindow, form_class):
    def __init__(self, parent=None):
        QtGui.QMainWindow.__init__(self, parent)
        PlotWindow.__init__(self)
        self.setupUi(self)
        self.pb_send.clicked.connect(self.pb_send_clicked)
        self.pb_open.clicked.connect(self.pb_open_clicked)
        self.pb_exit.clicked.connect(self.pb_exit_clicked)
        self.comboBox.currentIndexChanged.connect(self.combo_box_changed)

此外,我还有一个名为“PlotWindow”的第二类。这个类看起来像这样:

class PlotWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.w = QtGui.QMainWindow()
        self.cw = pg.GraphicsLayoutWidget()
        self.w.show()
        self.w.resize(900,600)
        self.w.setCentralWidget(self.cw)
        self.w.setWindowTitle('pyqtgraph: G-CODE')
        self.p = self.cw.addPlot(row=0, col=0)

现在您可以看到,PloWindow - 类创建了第二个窗口。

如何将 pg.GraphicsLayoutWidget() 实现到 MainWindow - 类中?

不确定这是否可以帮助您?!? :

def main():
    app = QtGui.QApplication([])
    myWindow = MainWindow(None)
    myWindow.show()
    app.exec_()

if __name__ == '__main__':
    main()

我正在使用 python3 ! 随时发表评论:) 谢谢!

【问题讨论】:

  • 上面的 RuntimeError 看起来是你的 pyqt 安装有问题。
  • 好吧,这是有道理的 ^^ 如果我安装一个新的 sip 版本会怎样?旧的sip版本会被删除吗?或者我怎样才能告诉我的程序使用其他 sip 版本?
  • 这一切都取决于您的操作系统和安装方法。我建议只卸载 sip+pyqt 并尝试通过不同的方法重新安装,直到找到可行的方法。

标签: python-3.x pyqt4 pyqtgraph xubuntu


【解决方案1】:

要将任何 pyqtgraph 小部件放置在您的应用程序中,您需要添加一个占位符小部件并将其“提升”到您想要的 pg 类。见:http://www.pyqtgraph.org/documentation/how_to_use.html#embedding-widgets-inside-pyqt-applications

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-23
    • 2013-05-17
    • 2023-02-15
    • 2020-06-09
    • 2020-07-06
    • 1970-01-01
    • 2018-07-19
    • 2019-02-02
    相关资源
    最近更新 更多