作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
例如,我在一个表单上有 20 个小部件。我需要根据屏幕分辨率调整它们的大小,所以这是我的方法
newHeight=(desktopHeight * ui->widget1->height())/768;
newWidth=(desktopWidth * ui->widget1->width())/1024;
newY=(desktopHeight * ui->widget1->y())/768;
newX=(desktopWidth * ui->widget1->x())/1024;
ui->widget1->setGeometry(newX,
newY,
newWidth,
newHeight);
newFontSize=(desktopHeight * ui->widget1->font().pointSize())/768;
ui->widget1->setFont(QFont ("Ubuntu",newFontSize, QFont::Bold));
我将对其余 19 个小部件重复此方法。有没有办法获取所有小部件并创建 do while 语句并创建一个以小部件为参数的函数?
最佳答案
所有小部件都附加到表单或窗口吗?
您可以从 UI 父窗口小部件中获取所有子窗口小部件,然后迭代子窗口集合。
根据您的小部件层次结构,您应该执行类似的操作
QObjectList *widgetList = parentWidget->findChildren();
根据您的具体情况:
QObjectList *widgetList = ui->centralWidget->findChildren();
编辑:如果没有其余的代码,我不知道 ui 代表什么,因此我的通用答案。我假设你的用户界面是一个主窗口,如下我的代码
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QObjectList widgetList = ui->centralWidget->children();
qDebug() << "Amount of children found :" << widgetList.count();
}
关于c++ - Qt 有没有办法获取表单上的所有小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18178333/
我是一名优秀的程序员,十分优秀!