如何在QMainWindow布局中添加小部件
How to add a widget to QMainWindow layout?
我使用下面的代码添加一个QPushButton到ui:
QPushButton *mine[PlayForm->horizontal][PlayForm->vertical];
for(int i=0; i<PlayForm->horizontal; i++)
{
for(int j=0; j<PlayForm->vertical; j++)
{
QWidget wdg;
mine[i][j] = new QPushButton(" ", &wdg);
mine[i][j]->setGeometry(size*i, size*j, size, size);
mine[i][j]->show();
PlayForm->layout()->addWidget(mine[i][j]);
}
}
但是我得到这个消息:
QMainWindowLayout::addItem:请使用公共的QMainWindow API代替
我该怎么办?
您正在堆栈上创建一个临时父部件,并为QPushButton
使用对它的引用-这是获得段错误的好方法。
父部件参数默认为nullptr
,这对您来说是可以接受的,因为布局拥有它。
//QWidget wdg;
mine[i][j] = new QPushButton( " " );
您得到的错误消息是由这个问题回答的。简而言之,这意味着你不应该修改QMainWindow
布局;您需要先创建一个小部件,将其添加为中心小部件,然后修改中心小部件的布局。
相关文章:
- Qt:无法直接为带有子项的小部件添加滚动条
- 在QT中为小部件添加彩色边框的最佳方法是什么
- 将小部件添加到布局后,QStylesheet 不起作用
- C++ Qt如何在滚动区域添加小部件?
- 如何从一个向量中删除最小元素并添加到另一个向量,而第一个变为空?
- 将STL文件添加到QT小部件
- 如何使用Qt中的代码将小部件添加到中央小部件中
- 如何将开关QML添加到QT小部件
- 递归地将 1 添加到 BST 中的所有节点,但具有最小数据的节点除外
- 无法将样式添加到QT Tab小部件中的选项卡(bar)和Tab(窗格)
- 内存管理 - 添加小部件是否分配父级
- 如果有可用的位置,如何在布局中添加小部件?否则不添加
- C++ 创建小部件数组
- Qt动态创建布局并向布局添加小部件
- 当我在窗口上动态添加小部件时,我应该指定父级
- 在主小部件(控制台)QT下面添加小部件
- 向QFileDialog添加小部件
- 如何在QMainWindow布局中添加小部件
- Qmake不添加小部件
- 向布局中添加小部件仅在自定义类的构造函数中有效