【发布时间】:2015-02-23 06:57:55
【问题描述】:
我正在尝试创建一个按钮,为我的QTextEdit 实例的选定文本添加下划线。
在构造函数中,我正在激活光标并为稍后使用的 setFontUnderline 方法设置一个 bool 变量。
QTextCursor cursor1 = ui.myQTextfield->textCursor();
ui.myQTextfield->ensureCursorVisible();
test1 = false;
下面的第一种方法是通过按下下划线按钮来执行的,第二种方法是通过释放它来执行的。
void Hauptfenster::pressed_underlinebutton()
{
test1 = true;
ui.myQTextfield->setFontUnderline(test1);
}
void Hauptfenster::released_underlinebutton()
{
cursor.clearSelection();
test1 = false;
ui.myQTextfield->setFontUnderline(test1);
}
问题在于,在这段代码中,被选中的文本首先被pressed_underlinebutton() 方法加下划线,然后立即被released_underlinebutton 方法取消下划线。
使用 release_underlinebutton() 方法,我想在再次设置 setfontunderline(false) 时不再选择去下划线。
【问题讨论】:
-
s/underles/underlines/?
-
您还发现其他语法错误吗?
-
好吧,你用大写开始几个单词。那是不正确的英语,但这不会降低理解力。
textfeld也很奇怪。 ;-) -
你的最后两句话让我很困惑。你想达到什么目标;你能改写一下吗?您的问题是没有清除选择,即
cursor.clearSelection();不起作用?根据您的 cmets 在已删除的答案下,您的问题是否有超过所选内容的下划线?我不明白。 -
这可行,但现在我无法再访问 QTextedit。
标签: c++ qt qtgui qtextedit qtextcursor