• 10772阅读
  • 5回复

[提问]如何改变QTextEdit 光标颜色 [复制链接]

上一主题 下一主题
离线longgiraffe
 

只看楼主 倒序阅读 楼主  发表于: 2012-04-09
因为要把QTextEdit背景色设置为黑色,结果设置后光标颜色被盖住了
尝试了 setCursor()这个函数,结果只是改变了控件的鼠标光标,并没有改变当前光标的任何特性,
急求解决办法!
离线xiumingjun

只看该作者 1楼 发表于: 2012-04-10
回 楼主(longgiraffe) 的帖子
这个你只能是自己做个图标,然后自己设置它的属性。不过以Bitmap为图标时,图标是二进位的,只有黑白两种颜色……当背景是黑色的时候则光标要变成白色。而不能随意改变颜色的
离线longgiraffe

只看该作者 2楼 发表于: 2012-04-10
谢谢回复, 这个图标是通过什么设置成光标的? setCursor这个函数只能设置鼠标形状,影响不到那个一闪一闪的光标样子
离线longgiraffe

只看该作者 3楼 发表于: 2012-04-10
庆祝,终于还是通过改变QPalette 的属性解决了,具体是哪个颜色role起了作用,还不知道,大家可以试一下

QPalette editpalete = textEdit->palette();
    editpalete.setColor(QPalette::Light,QColor("red"));
    editpalete.setColor(QPalette::Highlight,QColor("red"));
    editpalete.setColor(QPalette::HighlightedText,QColor("red"));
    editpalete.setColor(QPalette::BrightText,QColor("red"));
    editpalete.setColor(QPalette::ButtonText,QColor("red"));
    editpalete.setColor(QPalette::Foreground,QColor("red"));
    editpalete.setColor(QPalette::Text,QColor("red"));

    textEdit->setPalette(editpalete);
离线翠屏阿姨
只看该作者 4楼 发表于: 2012-04-19
editpalete.setColor(QPalette::Text,QColor("red"));是这一句
目前还是Qt菜鸟
离线淳于半邪

只看该作者 5楼 发表于: 2012-04-19
引用第4楼翠屏阿姨于2012-04-19 17:50发表的  :
editpalete.setColor(QPalette::Text,QColor("red"));是这一句


顾名思义,90%就是这个
快速回复
限100 字节
 
上一个 下一个