Qt圆角窗体+半透明背景+右下角显示(移除窗体标题栏+置顶+不在任务栏显示)
2014-01-13 14:17
323 查看
现在转到Qt这块,很多东西使用起来确实像是到了另一个世界,特别是一些错误起初让人百思不得其解,比如bool类型的全局变量,你如果不先给它初始化一下,后面会出现一些非常莫名其妙的问题,别想当然的认为bool值默认就是false
最近刚好用到了如何对窗体设置圆角,如何设置透明背景,注意这边的透明只影响到窗体的背景,不影响窗体上的控件,还有如何让窗体在屏幕右下角显示,在此做个记录以备后用
上面这段代码放在构造函数中,其中Qt::Tool表示不在任务栏中显示,后面两个是去掉窗体标题栏以及置顶显示
setFlag(true)去掉按钮边框。
下面这段paintEvent则写出了如何对窗体进行圆角及半透明背景设置,其实也很简单 :)
最近刚好用到了如何对窗体设置圆角,如何设置透明背景,注意这边的透明只影响到窗体的背景,不影响窗体上的控件,还有如何让窗体在屏幕右下角显示,在此做个记录以备后用
setWindowFlags (Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint); setAttribute(Qt::WA_TranslucentBackground); ui->btnBar->setFlat(true); ui->btnPie->setFlat(true); // 获取屏幕尺寸 QDesktopWidget* desktop = QApplication::desktop(); QRect deskRect = desktop->availableGeometry(); //移到右下角显示 move(deskRect.width() - this->width(), deskRect.height() - this->height());
上面这段代码放在构造函数中,其中Qt::Tool表示不在任务栏中显示,后面两个是去掉窗体标题栏以及置顶显示
setFlag(true)去掉按钮边框。
下面这段paintEvent则写出了如何对窗体进行圆角及半透明背景设置,其实也很简单 :)
void ****::paintEvent(QPaintEvent *) { QPainter painter(this); QPainterPath path; path.addRoundRect(this->rect(), 5); //圆角设置 //半透明背景 painter.fillPath(path, QColor(92, 155, 203, 100)); }
相关文章推荐
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- Qt 去掉窗体标题栏、窗体透明、窗体圆角(一)
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- Qt之界面实现技巧-- 窗体显示,绘制背景,圆角,QSS样式
- 用Qt实现窗体的无边框、可移动、透明不规则显示(需背景透明的图片)
- QT透明窗体子窗体显示
- 在VC中实现程序不在任务栏显示按钮, 标题栏与菜单栏的不显示
- Qt5 去掉窗口标题栏,去掉任务栏显示,窗口置顶的方法
- Qt中设置QML窗体无边框和背景透明
- Qt去标题栏、实现透明窗体
- showdialog窗体不在任务栏显示的问题处理
- QT入门:怎么写无边框(标题栏)的窗口、透明窗口、圆角控件
- Qt 背景透明、无边框标题栏、鼠标拖动、定时器、获取屏幕分辨率,设置初始位置
- vb.net简单实现透明窗体显示出背景透明的png
- Qt 透明窗体,圆角
- 设置窗体透明 隐藏任务栏 与全屏显示
- qt 窗口置顶/真透明/背景模糊/非矩形/跳过任务栏分页器/无边框/无焦点点击/焦点穿透
- Qt窗体背景绘图和图片显示篇
- DELPHI 让窗体不在任务栏显示