如何使用QFileSystemModel用子目录填充几个QComboBox?你知道吗
我已经建立了一个项目管理工具,允许我创建和管理我的项目。我目前正在使用操作系统列表目录和json来填充和验证我的qcombobox。但我正在尝试学习QFileSystemModel的更多modelview方法。你知道吗
这就是我所拥有的:
class FileSystemModel(QW.QFileSystemModel):
def __init__(self, root, parent=None):
QW.QFileSystemModel.__init__(self, parent)
self.root = root
self.rootIndex = self.setRootPath(root)
class Window(QW.QWidget):
def __init__(self, parent=None):
super(Window, self).__init__()
self.init()
def init(self):
layout = QW.QVBoxLayout()
self.cbox = QW.QComboBox()
self.cbox2 = QW.QComboBox()
self.model = FileSystemModel("C:\\projects\\")
self.cbox.setModel(self.model)
self.cbox2.setModel(self.model)
self.cbox.setRootModelIndex(self.model.rootIndex)
self.cbox.currentIndexChanged.connect(self._indexChanged)
layout.addWidget(self.cbox)
layout.addWidget(self.cbox2)
self.setLayout(layout)
def _indexChanged(self):
row = self.sender().currentIndex()
index = self.sender().rootModelIndex().child(row, 0)
self.cbox2.setRootModelIndex(index)
def main():
app = QW.QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec_())
我试图使用cbox中的索引重新填充cbox2,但是在我的代码中它似乎不起作用-它只是保持为空。你知道吗
好的,这是你的修改版本:
相关问题 更多 >
编程相关推荐