作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在构建一个没有默认窗口边框的 Qt 应用程序作为无框窗口。通过在 QMainWindow 中设置窗口标志来包含窗口函数,例如:
MainDialog::MainDialog(QWidget *parent):
QMainWindow(parent), currentProject(NULL), currentUser(NULL),
aViews(new QList<AViewForm*>()),
bViews(new QList<BViewForm*>()),
cViews(new QList<CViewForm*>())
{
ui.setupUi(this);
this->statusBar()->showMessage(tr(""));
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint | Qt::WindowMinimizeButtonHint | Qt::WindowMaximizeButtonHint | Qt::WindowSystemMenuHint);
...
}
MainWindow 内有一个 .ui 文件,这就是为什么我无法从 QDesktopWidget 继承的原因。我现在遇到的问题是应用程序在最大化时覆盖 Windows 任务栏。
我现在的问题:是否有可能在没有
的情况下找出操作系统桌面的可用高度availableGeometry().height()
-QDesktopWidget的方法?我在文档中找不到任何内容:(
这里有人问了类似的Question但使用了 QWidget 而不是 QMainWindow。
如果有任何关于我的问题的提示,我会很高兴
最佳答案
正如你所说,你可以使用 QDesktopWidget。如果您没有让您的类继承它,您可以在构造函数中创建一个仅用于检索高度的类:
QDesktopWidget w;
int availableHeight = w.availableGeometry().height();
关于Qt/win : showMaximized() overlapping taskbar on a frameless window,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7269008/
我是一名优秀的程序员,十分优秀!