gpt4 book ai didi

c++ - QSyntaxHighlighter 不适用于创建的表单 QTextEdit

转载 作者:行者123 更新时间:2023-11-30 04:20:25 24 4
gpt4 key购买 nike

如标题所示,突出显示似乎不适用于创建 QTextEdit 的表单。我的 QSyntaxHighlighter 派生类是来自 Qt docs 的那个和我的代码(不起作用的代码):

ui->setupUi(this);
HtmlHighlighter hl(ui->textEdit->document());

但如果我这样做,效果很好:

int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow win;
win.show();
QTextEdit editor;
HighLighter highlighter(editor.document());
editor.show();

return app.exec();
}

有没有办法让它与生成的表单一起工作?

最佳答案

您的荧光笔在构造函数末尾超出范围。把它放在堆上并使它成为一个成员变量,它应该可以工作。

class MainWindow
{
//...

private:
HtmlHighlighter * h1;
}

然后在你的cpp文件中:

ui->setupUi(this);
hl = new HtmlHighlighter(ui->textEdit->document());

希望对您有所帮助。

关于c++ - QSyntaxHighlighter 不适用于创建的表单 QTextEdit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316907/

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