QTextEdit为什么要拿出来单独说,因为它继承自QAbstractScrollArea,一般的设置无效。滚动区域ScrollArea内部有一个widget,需要同时设置ScrollArea和viewport两个窗口才能实现透明。代码如下:
m_text_editor->setWindowFlags(Qt::FramelessWindowHint | m_text_editor->windowFlags());
m_text_editor->setAttribute(Qt::WA_TranslucentBackground);QWidget *v = m_text_editor->viewport();
v->setWindowFlags(Qt::FramelessWindowHint | v->windowFlags());
v->setAttribute(Qt::WA_TranslucentBackground);
完成。
最近创建了一个公众号,定期写写文章,主要是Qt相关的。如果您觉得文章有用,可以关注一下。