我在向ui添加QPushButton时遇到了问题.我这样做:
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]);
}
}
Run Code Online (Sandbox Code Playgroud)
所以我该怎么做?!
您正在堆栈上创建一个临时父窗口小部件,并使用它的引用QPushButton- 这是获取段错误的好方法.
父窗口小部件参数默认为nullptr,您可以接受,因为布局取得了它的所有权.
//QWidget wdg;
mine[i][j] = new QPushButton( " " );
Run Code Online (Sandbox Code Playgroud)
你所得到的错误消息是由该回答的问题.简而言之,这意味着您不应该修改QMainWindow布局; 您需要创建一个窗口小部件,将其添加为中央窗口小部件,然后修改中央窗口小部件的布局.
| 归档时间: |
|
| 查看次数: |
3324 次 |
| 最近记录: |