方法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)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)