qtextedit更新内容_QTextEdit :: setPalette不更新文本颜色

我正在改变两个QTextEdit小部件的文本颜色以及其他一些QLineEdits . 每当我禁用或启用readonly属性以使其在视觉上更好时,就会发生这种情况 .

QPalette* disablePallete;

QPalette* enabledPallete;

disablePallete->setColor(QPalette::Text,Qt::darkGray);

enabledPallete->setColor(QPalette::Text,Qt::black);

// disable writing

ui->TextEdit->setPalette(*disablePallete);

// enable writing

ui->TextEdit->setPalette(*enablePallete);

这一切在我更改调色板的瞬间完美地适用于我的所有LineEdits .

我的问题是QTextEdits中的文本不会立即更新,只有当我单击框内的内容或编辑文本时才会这样做 . 它也会出现故障,只会更新光标所在的位置 .

这是一个例子 .

b8d6a60f-3576-43bf-b246-d26a42556960.png

我每次都这样做了 . 它迫使一切都重新粉刷 .

ui->roomDescriptionTextEdit->append("");

ui->roomDescriptionTextEdit->undo();

虽然这有效,但我希望用更简洁的方法来更新QTextEdit上的所有文本颜色 .

Does anyone know of a solution?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值