我在Qt中创建了一个简单的代码文本编辑器,它可以获取C ++关键字并为它们着色。我知道Qt有一个foreach
函数,但是如何将它与用户输入的QTextEdit一起使用呢?
这是我尝试过的,如果我在Hi
中输入单词textEdit
,那么它会在调试中弹出。这没用。
QLinkedList<QTextEdit* > list;
QString str = "Hi";
foreach(str, list)
qDebug() << str;
我想我在某个论坛的某个地方看到了这个想法,但它再次没有用。如果您能提供帮助,任何建议都有帮助!谢谢!
编辑:
这就是我现在所拥有的:
QString text = ui->textEdit->toPlainText();
QString str = "Hi";
foreach(str, text)
qDebug() << str;
除了qDebug()
每次打印字符时输出Hi
,而不是打印所有Hi
答案 0 :(得分:0)
我不知道为什么你有一个QTextEdit
的列表但是要编译你的代码,你必须这样做。
QLinkedList<QTextEdit*> list;
QTextEdit* textEdit = NULL;
foreach(textEdit, list)
qDebug() << textEdit->toPlainText();
您的代码存在的问题是您尝试将QTextEdti*
分配给QString
。
回答评论中提出的问题:
将textChanged()
的{{1}}信号连接到广告位。
textEdit
在插槽中,将textEdit中的文本与空格字符分开并迭代。
connect(textEdit, SIGNAL(textChanged()), SLOT(onTextChanged()))
答案 1 :(得分:0)
所有你需要的东西都记录在Qt。中 请检查此Qt example。