首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PySide PyQt QDataWidgetMapper

PySide PyQt QDataWidgetMapper
EN

Stack Overflow用户
提问于 2017-02-14 04:51:15
回答 1查看 436关注 0票数 1

我尝试使用QDataWidgetMapper将QtGui.QPlainTextEdit连接到模型。我没有得到任何错误,只是在TextEdit中什么都没有。我没有得到它,我找不到好的示例代码。

这是一些ExampleCode。我真的希望有人能帮助我。

代码语言:javascript
运行
复制
from PySide import QtCore, QtGui
import sys


class ComponentsListModel(QtCore.QAbstractListModel):
    def __init__(self, components=[], parent = None):
        super(ComponentsListModel, self).__init__(parent=None)
        self.components = components
        self.list = parent

    def rowCount(self, parent):
        return len(self.components)

    def data(self, index, role):
        row = index.row()

        if role == QtCore.Qt.DisplayRole:#index.isValid() and
            value = self.components[row]
            return value



class MainWindow(QtGui.QWidget):
    def __init__(self):
        super(MainWindow, self).__init__()
        self._build_ui()

    def _build_ui(self):
        self.layout = QtGui.QVBoxLayout()

        self.listView = QtGui.QListView()
        self.model = ComponentsListModel(components = ['1', '2', '3'])
        self.listView.setModel(self.model)
        self.text = QtGui.QPlainTextEdit()
        self.layout.addWidget(self.listView)
        self.layout.addWidget(self.text)
        self.setLayout(self.layout)

        self._mapper = QtGui.QDataWidgetMapper(self)
        self._mapper.setModel(self.model)
        self._mapper.setSubmitPolicy(QtGui.QDataWidgetMapper.AutoSubmit)
        self._mapper.addMapping(self.text, 0)
        self._mapper.toFirst()


if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    app.setStyle('Plastique')
    mySW = MainWindow()
    mySW.show()
    sys.exit(app.exec_())
EN

Stack Overflow用户

回答已采纳

发布于 2017-02-15 01:08:31

您需要在ComponentsListModel类的数据函数中为Qt.EditRole添加一个条件

代码语言:javascript
运行
复制
if role == Qt.EditRole: 
        value = self.components[row]
        return value
票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42213321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档