gpt4 book ai didi

c++ - 编辑 QTreeWidgetItem 时捕获 ESC 键按下事件

转载 作者:太空狗 更新时间:2023-10-29 19:53:22 26 4
gpt4 key购买 nike

我正在用 Qt 开发一个项目。我有一个 QTreeWidget(filesTreeWidget) 蒙山一些文件名和一个用于创建文件的按钮。创建按钮向 filesTreeWidget 添加一个新项目(项目的文本是“”),该项目被编辑以选择名称。当我按下 ENTER 时,文件名通过套接字发送到服务器。当我按 ESC 键时出现问题,因为文件名仍然是“”并且没有发送到服务器。我试图覆盖 keyPressEvent 但不起作用。有任何想法吗?我需要在编辑项目时捕捉 ESC 新闻事件。

最佳答案

您可以子类化 QTreeWidget,并像这样重新实现 QTreeView::keyPressEvent:

void MyTreeWidget::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Escape)
{
// handle the key press, perhaps giving the item text a default value
event->accept();
}
else
{
QTreeView::keyPressEvent(event); // call the default implementation
}
}

可能有更优雅的方法来实现您想要的,但这应该很容易。例如,如果你真的不想子类化,你可以安装一个事件过滤器,但我不喜欢这样做,尤其是对于有很多事件的“大”类,因为它相对昂贵。

关于c++ - 编辑 QTreeWidgetItem 时捕获 ESC 键按下事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com