作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
虽然 Qt's docs表明这两个功能是不同的(第一个不包括框架)无论我选择什么小部件 - 包括我的应用程序的主窗口 - someWidget->frameGeometry().height()
始终返回与 someWidget->geometry.height()
相同的值.
我在这里缺少什么?
最佳答案
我认为,您没有给要绘制的小部件足够的时间。有一个小例子:
#include <QApplication>
#include <QMainWindow>
#include <QDebug>
class MainWindow : public QMainWindow
{
public:
MainWindow() {
startTimer(500);
}
void timerEvent(QTimerEvent *e) {
// Here values are different
qDebug() << geometry().height() << frameGeometry().height();
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow mainWin;
mainWin.show();
// Here values are equals
qDebug() << mainWin.geometry().height() << mainWin.frameGeometry().height();
return app.exec();
}
geometry
产生相同的值和
frameGeometry
,但第二个(在
timerEvent
中)会产生不同的结果。
关于qt - QWidget::geometry() 与 QWidget::frameGeometry(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14540075/
有没有办法为尚未调用 show() 的窗口获取正确的 frameGeometry?一般来说,似乎 frameGeometry() == geometry() 在窗口显示在屏幕上之前。 我不想先调用 s
我有一个在其父窗口中最小化的对话框。当我调用 frameGeometry() 时,结果是事件对话框的(未最小化)数字。 我想知道 titleBar 在哪里。 (当对话框最小化时只显示对话框的标题栏)
虽然 Qt's docs表明这两个功能是不同的(第一个不包括框架)无论我选择什么小部件 - 包括我的应用程序的主窗口 - someWidget->frameGeometry().height()始终返
我是一名优秀的程序员,十分优秀!