【问题标题】:QTreeWidget: Windows Explorer-like editingQTreeWidget:类似 Windows 资源管理器的编辑
【发布时间】:2012-09-02 17:44:42
【问题描述】:

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

单击 -> 选择

单击先前选择的项目 -> 打开 LineEdit 以编辑名称

双击 -> 执行“启动”

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

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

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

但是这种解决方案不区分双击和连续单击,所以双击后仍然会出现QLineEdit。是否可以强行摆脱编辑器?我尝试了一种 hack 解决方案,例如隐藏和显示该项目,但没有奏效。

【问题讨论】:

    标签: c++ python qt4 pyqt4


    【解决方案1】:

    您只需在 QTreeWidgetItem 上设置标志以包含 ItemIsEditable 选项,并在 QTreeWidget 上为 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)
    

    【讨论】:

      猜你喜欢
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 2015-09-10
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      相关资源
      最近更新 更多