【发布时间】: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