QTextEdit 修改 setEnabled 字体颜色QTextEdit c++
时间: 2024-09-18 20:07:27 浏览: 51
在Qt的QTextEdit组件中,如果你想要修改`setEnabled`状态下的字体颜色,你需要通过样式表(QStyleSheet)来设置。首先,确保有一个QTextEdit实例,例如叫做`myTextEdit`。然后,你可以这样做:
```cpp
// 获取文本编辑器的内建样式
QTextCharFormat defaultFormat = myTextEdit.defaultCharFormat();
// 设置禁用状态下的字体颜色,比如为红色
defaultFormat.setForeground(Qt::red);
// 如果你想针对特定的行或者选择的文字应用这个改变,可以创建一个新的格式
QTextCharFormat disabledFormat;
disabledFormat.setForeground(Qt::red);
QTextCursor cursor(myTextEdit.document());
cursor.setPosition(0); // 或者设置具体的行数
myTextEdit.setExtraSelections({QTextEdit::createSelection(cursor, cursor位置更改为end)});
// 当然,也可以直接应用于整个文本编辑器,使其在禁用时全局显示红色字体
myTextEdit.setStyleSheet("QTextEdit[enabled=false]{color:red;}");
```
请注意,设置`setEnabled(false)`会使文本框处于不可交互状态,而上述代码仅改变了其外观。
阅读全文