我正在尝试实现一个简单的对话框来编辑代码的某些部分。我用this它基于 QPlainTextEdit。但是,我无法将制表符插入代码文本中。主要原因可能是我将代码编辑器显示为代码中所示的对话框。当我按 Tab 按钮时,对话框将关闭然后重新打开。
CodeEditor* editor = new CodeEditor(this);
editor->setWindowFlags(Qt::Dialog);
editor->setMinimumSize(400, 400);
editor->show();
最佳答案
谢谢大家,
我解决了这个问题,这完全是关于我在问题中没有提到的部分。此代码是 qtpropertybrowser 的一部分代码库。我正在尝试添加一个属性编辑器,它将打开我在问题中指出的代码编辑小部件。当我深入qt属性代码库时,我发现tab键被忽略了,因为它被eventFilter过滤了。当我改变这部分的时候。我解决了这个问题。
但是,我无法解决编辑器关闭并重新打开的问题。变得这么快。并且输出错误消息如下 QWidget::setTabOrder: 'first' 和 'second' 必须在同一个窗口中。
关于c++ - QPlainTextEdit 上的 Qt 代码编辑器 如何选项卡代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485447/