在QDialog中使用QGridLayout定位QPushButton
Positioning a QPushButton using QGridLayout in a QDialog?
我正在尝试在一个简单的应用程序中定位QPushButton
。我想做的是将一个按钮居中并位于应用程序的底部。
我不想使用设计器,所以请不要建议(这是我自己的好奇心(。这是我的代码:
QGridLayout* layout = new QGridLayout;
QPushButton* button1 = new QPushButton("button1");
centralWidget->setLayout(layout);
qDebug() << "columns:";
qDebug() << layout->columnCount();
qDebug() << "rows:";
qDebug() << layout->rowCount();
button1->setFixedSize(100, 50);
layout->addWidget(button1,2,0,1,1,Qt::AlignCenter);
所以,这里有几件事我很好奇。
首先,当我做一个columnCount()
和一个rowCount()
时,它会为每个人返回1
。如果我要设置按钮在网格中的行和列位置,我显然不想要 1x1 网格。如何更改此设置?
其次,如果我想要一个空行怎么办?我必须为此使用垫片吗?
提前谢谢。
将首先,当我做一个columnCount((和一个rowCount((时,它返回 每个 1 个。如果我要设置行和列位置 网格中的按钮,我显然不想要 1x1 网格。 如何更改此设置?
小部件添加到位置上的网格中没有问题,假设:row=20 column=20,如果网格的大小只有 1 x 1。 它只是创建一个空单元格(大小为零(归档未使用的行和列。
其次,如果我想要一个空行怎么办?我必须使用垫片吗 那?
是的,如果你想要一个空行或一列,你必须把一个空格(QSpacerItem
(或一个空的小部件(一个普通的QWidget
(放入其中一个单元格中。如果您想要固定高度/宽度的行/列,则必须为此间隔条(或小部件(设置固定宽度或高度。
首先,当我做一个columnCount((和一个rowCount((时,它每个返回1。如果我要设置按钮在网格中的行和列位置,我显然不想要 1x1 网格。如何更改此设置?
是的,可以解决此问题以将 QSpacerItem 添加到第 0 行和第 1 行。
其次,如果我想要一个空行怎么办?我必须为此使用垫片吗?
是的,您可以使用QSpacerItem。
- 重新定位图像时如何前进到下一个内存块
- 流填充字符的默认定位
- 如何在QGridLayout中获取QComboBox的当前文本?
- 通过Python Distutils(用于Python C扩展)使用可重定位的设备代码编译CUDA代码
- 为什么gmp会在这里与"invalid next size"重新定位一起崩溃?
- NS3 - python.h 文件无法定位编译错误
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- GLEW 未在 MSYS2 上定位 OpenGL 函数
- c++ 链接器错误"针对'.rodata.str1.1'的重新定位R_X86_64_32"链接 CXX 共享库 libsrt.so
- QGridLayout 限制中的多个小部件
- 如何忽略32位整数中的特定位
- 如何在C++中使用光标定位
- 使用 stdio.h 重新定位和重命名文件C++
- R 包安装错误:重新定位 0 具有无效的符号索引 11
- 对于可重定位的多平台安装,理想的 cmake 安装目录结构是什么?
- 不能使用使用 lib*.a 的 CDT ---对符号 .. 的重新定位R_X86_64_32S
- 如何在VS2015中重新定位VS2017解决方案?
- 使用 for_each 和 lambda 销毁已定位的对象
- 在"for loop"中使用GOTOXY定位
- 在QDialog中使用QGridLayout定位QPushButton