在 Qt 上制作一个没有控制框的无边框应用程序
Posted
技术标签:
【中文标题】在 Qt 上制作一个没有控制框的无边框应用程序【英文标题】:make a borderless app without a controlbox on Qt 【发布时间】:2014-06-23 03:50:45 【问题描述】:是否可以在 Qt 上制作无边框窗口?我知道它可能在 Visual Studio 中您只需更改属性窗口中的值。 Qt 没有 formborderstyle 属性。
还有可能不在任务栏上显示图标
【问题讨论】:
如果您使用旧版本的 Qt(4.8.5 或 5.2) - 请注意下一个问题 - bugreports.qt-project.org/browse/QTBUG-17548 【参考方案1】:我认为不可能抑制任务栏条目。每个没有父级的***窗口都会得到一个。
当然可以创建一个无框窗口。我曾经将一个普通的 QWidget 用于类似的目的,并添加如下内容:
setWindowFlags(Qt::Dialog|Qt::FramelessWindowHint);
【讨论】:
【参考方案2】:使用 setWindowFlags() 在您的***小部件上设置窗口标志
Qt::FramelessWindowHint - 在没有窗口框架的情况下绘制在http://qt-project.org/doc/qt-4.8/qt.html#WindowType-enum和http://qt-project.org/doc/qt-4.8/qwidget.html#windowFlags-prop查看完整文档
至于隐藏任务栏,请查看此堆栈溢出示例Qt Hide Taskbar Item(只需将 windowFlags 设置为包含 Qt::Dialog,您就可以使用
MyWindowWidget(QWidget *parent)
: QWidget(parent, Qt::Dialog|Qt::FramelessWindowHint)
【讨论】:
以上是关于在 Qt 上制作一个没有控制框的无边框应用程序的主要内容,如果未能解决你的问题,请参考以下文章