PyQt -> PySide:在 __init__ 中加载 ui 文件

Posted

技术标签:

【中文标题】PyQt -> PySide:在 __init__ 中加载 ui 文件【英文标题】:PyQt -> PySide: Loading ui file in __init__ 【发布时间】:2015-06-12 14:22:37 【问题描述】:

我正在从 PyQt 迁移到 PySide。我已经习惯在__init__ 中加载我的 Qt Designer 生成的 ui 文件,如下所示:

def __init__(self):
    QtGui.QMainWindow.__init__(self)
    uic.loadUi("mygui.ui", self)

    self.mywidget.do_some_other_stuff()

    self.show()

这可以用 PySide 完成吗?我最接近的是

    self.widget = QtUiTools.QUiLoader().load("mygui.ui"))
    self.setCentralWidget(self.widget)

但是我的 MatplotlibWidget 不会显示,而且我的插槽都没有工作。

【问题讨论】:

Loading QtDesigner's .ui files in PySide的可能重复 在 PySide 中没有完全等价的,所以你必须write your own。 【参考方案1】:

qtpy 抽象层中的 PySide 有 loadUi 的实现。

【讨论】:

以上是关于PyQt -> PySide:在 __init__ 中加载 ui 文件的主要内容,如果未能解决你的问题,请参考以下文章

PySide/PyQt 中 QTableWidget 的 QMenu

PyQt/PySide(包装的 C/C++ 对象已被删除)

在 PySide/PyQt 中使用 drawPolyline 制作动画波浪

PySide2(PyQt5)根据屏幕大小初始化窗口大小

PySide2(PyQt5) 实现tab切换及方法详解(不定时更新)

在 QTextBrowser 中突出显示文本时发送 PySide/PyQt 信号