标签:style blog http color width art
QWidget *widget = new QWidget; widget->show(); qDebug() << widget->width() << "," << widget->height(); qDebug() << widget->sizeHint().width() << "," << widget->sizeHint().height(); //output: //1009 , 520 //-1 , –1
输出结果中第二行:sizeHint() 返回的是一个无效的 QSize,因为 widget 没有布局。
例2:
QWidget *widget = new QWidget; QHBoxLayout *layout = new QHBoxLayout; QPushButton *button = new QPushButton("Ggicci"); layout->addWidget(button); widget->setLayout(layout); widget->show(); qDebug() << widget->width() << "," << widget->height(); qDebug() << widget->sizeHint().width() << "," << widget->sizeHint().height(); qDebug() << button->width() << "," << button->height();
1: //output:
2: //112 , 45
3: //97 , 45
4: //90 , 23
输出结果中第一行:widget 的实际尺寸 (112, 45);输出结果中第二行:sizeHint() 返回 layout 的首选尺寸(97,45)供 widget 参考;输出结果中第三行:中间 button 的实际大小;从输出结果中可以证明以上说过的两点:1) 在 widget 有 layout 的情况下,其 sizeHint() 函数返回的是有效值作为其自身实际尺寸的参考;2) sizeHint() 返回的值并不一定会作为 widget 的实际尺寸,因为 widget 的尺寸的决定还有其它因素作用;
Qt中的 Size Hints 和 Size Policies,布布扣,bubuko.com
Qt中的 Size Hints 和 Size Policies
标签:style blog http color width art
原文地址:http://www.cnblogs.com/haoyuanyuan/p/3835971.html