QTreeWidget:Windows资源管理器式编辑

2024-06-10 21:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个QTreeWidget,其中的项既可编辑又可启动。我希望它的行为像Windows资源管理器:

单击->选择

单击以前选定的项目->;“打开行编辑”编辑名称

双击->;执行“启动”

所以我为itemClicked()itemDoubleClicked()创建了插槽。第一个是:

def EditName(self, item, column):
    if self.lastclick == item:
        self.editItem(item)
    self.lastclick = item

第二个只是“启动”文件。在

但是,这种解决方案不区分双击和两次连续单击,因此在双击之后,QLineEdit仍然出现。有没有可能强行除掉编辑?我尝试了一个黑客解决方案,比如隐藏和显示项目,但没用。在


Tags: 项目gtself名称编辑windowsdef解决方案
1条回答
网友
1楼 · 发布于 2024-06-10 21:24:42

您只需在QTreeWidgetItem上设置标志以包含ItemIsEditable选项,并在qtreewidwidget上为SelectedClick设置编辑触发器

def populate( self, tree ):
    tree.setEditTriggers(tree.SelectedClicked)
    for i in range(10):
        item = QTreeWidgetItem(['Testing %02i' % i])
        item.setFlags(item.flags() | item.ItemIsEditable)

相关问题 更多 >