【发布时间】:2015-04-15 14:31:13
【问题描述】:
我正在尝试在 Qt 5.2 C++ 中实现无框窗口。
这个答案 - 对我来说是完美的,但在 Qt5 中不再适用 - Borderless window in Qt on Windows which supports native features: aero snap, DWM resize and minimization
我所做的是创建了一个基本的 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);
}
会给我-几乎-我想要的,主要问题是-
- 顶部有一些奇怪的栏,看起来像这样。当我右键单击该栏,然后左键单击复选框时,它就会消失。我如何默认禁用此功能? (请原谅第 3 方链接,StackOverflow 不允许新人在这里托管图片)
http://i57.tinypic.com/2iapqnn.png
- 如图所示,只有侧边框是 1 px,而上/下边框更像是 4 px。底部还有一个奇怪的栏(类似于顶部的那个,在它被删除之前),我想删除它。如何禁用底部栏,并确保所有边框的宽度正好为 1 像素?
http://i62.tinypic.com/28qsnrk.png
我想要的只是一个空白的、可调整大小的、带有 1 px 红色边框的窗口。
非常感谢您的帮助。祝你有美好的一天。
【问题讨论】:
标签: c++ qt user-interface