我正在尝试在 Qt 5.2 C++ 中实现无框窗口。
这个答案对我来说是完美的,但在 Qt5 中不再适用 - Windows 上 Qt 中的无边框窗口,支持本机功能:aero snap、DWM 调整大小和最小化
我所做的是创建一个基本的 MainWindow 小部件,通过样式表设置属性,除了一些事情之外,它几乎是我想要的。
此代码:
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent, Qt::CustomizeWindowHint ), ui(new Ui::MainWindow)
{
ui->setupUi(this);
//this->setFixedSize(300, 450);
this->statusBar()->setSizeGripEnabled(true);
this->setStyleSheet("background-color: white; border: 1px solid red;");
this->setWindowFlags(Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_TranslucentBackground, true);
}
会给我 - 几乎 - 我想要的,主要问题是 -
http://i57.tinypic.com/2iapqnn.png
http://i62.tinypic.com/28qsnrk.png
我想要的只是一个空的白色、可调整大小的窗口,带有 1 px 红色边框。
非常感谢您的帮助。祝你有美好的一天。
顶部有一些奇怪的栏,看起来像这样。当我右键单击该栏,然后左键单击该复选框时,它消失了。 我如何默认禁用此功能? (请原谅第 3 方链接, StackOverflow 不允许新人在这里托管图片)
我是工具栏。删除它:在 Qt Design 视图 -> 对象列表 -> 右键单击 mainToolBar,然后删除它!
如图所示,只有侧边框是 1 px,顶部/底部边框更像是 4 px。底部还有一个奇怪的栏(类似于顶部的栏,在它被删除之前),我想删除它。如何禁用底部栏,并确保所有边框的宽度恰好为 1 像素?
这是你的状态栏,执行与工具栏相同的操作。
我已经制作了关于您想要制作的示例模板项目!
看看吧:)
https://github.com/tongmon/qt-frameless-windows