怎么为QT中的TextEdit添加背景,或改透明度

怎么为QT中的TextEdit添加背景,或改透明度,第1张

设置背景:

方法1,利用QSS,

QTextEdit *textedit=new QTextEdit

textedit->setstylesheet(tr("QTextEdit{background-image:url(....)}"))

方法2,利用QPalette,

QPalette palette=textedit->palette()

palette.setcolor(QPalette::Background,QColor(....)) //设置颜色

palette.setbrush(QPalette::Background,QBrush(....))//设置图片

textedit->setpalette(palette)

设置透明:

方法1,setAttribute(Qt::WA_TranslucentBackground, true)

方法2,利用QPalette

palette.setColor(QPalette::Background, QColor(0x00,0xff,0x00,0x00))

this->setAttribute(Qt::WA_KeyCompression, true)

可是用输入法输入中文后,keyPressEvent进不去

QLineEdit有textChange 信号,关联这个信号,在槽里面可以接受到字符。

没有QLineEdit啊

不用打字啊,字符串用作他用

不用控件输入啊,我只是想获得输入的字符串,不过用你的方法,是不是可以搞一个隐藏的QLineEdit让他获得焦点,不过左右方向键应该会有影响吧

又或者我接收到输入法的字符串,传递给其他窗体;

或者做一个打字练习程序,本来Label里有一些字,打出来的字对比后一样的话就改变那个字的颜色。。。

打字的过程自己实现,你要实现输入法?为什么不直接用QTextEdit呢,你的要求用QTextEdit好像全部能实现吧,接收输入法的字符串, QTextEdit有textChage信号,打字练习,你只要拿label上的字和textEdit上字符进行比较,改变下字体颜色,对的用黑色显示,错的是红色显示,这是可以实现的,你就是想插入图片,在输入字,在插入图片,textEdit多可以实现。

QTextEdit从来就没有removeSelectedText()slot。你说的这个函数是QTextControl的。

你可以从QTextEdit继承一个子类,实现一个removeSelectedText()slot。

代码很简单:

void MyTextEdit::removeSelectedText()

{

event(QKeySequence::Delete)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7911670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存