QWidget*widget1 = new QWidget(this); widget1.setMinimumSize(400,400); QPushButton but1("这是一个按钮",&widget1);,報錯,怎麽修改
时间: 2024-04-09 07:33:58 浏览: 11
这里报错是因为 `QPushButton` 的父对象应该是指针类型,而不是对象本身。你可以将父对象指针传递给 `QPushButton` 的构造函数。下面是修改后的代码:
```cpp
QWidget* widget1 = new QWidget(this);
widget1->setMinimumSize(400, 400);
QPushButton* but1 = new QPushButton("这是一个按钮", widget1);
```
这样就能够正确地创建一个带有父对象的按钮了。
相关问题
QWidget*widget2 = new QWidget(this); widget2->setMinimumSize(400, 400); QPushButton* but2 = new QPushButton("这是第二个按钮", widget1); QStackedLayout *stackedLayout = new QStackedLayout; stackedLayout->addWidget(&widget1); stackedLayout->addWidget(&widget2);,報錯,爲啥
这里报错是因为 `addWidget` 方法需要传递指针类型的参数,而你传递的是对象本身的地址。修改代码如下:
```cpp
QStackedLayout *stackedLayout = new QStackedLayout;
stackedLayout->addWidget(widget1);
stackedLayout->addWidget(widget2);
```
这样就能够正确地向 `QStackedLayout` 中添加 `QWidget` 对象了。
在qwidget中放置了一个qpushbutton,怎么把button垂直居中对齐
您可以使用QVBoxLayout布局管理器来实现将QPushButton垂直居中对齐,具体步骤如下:
1. 创建一个QWidget对象并设置其布局为QVBoxLayout,例如:
QWidget *widget = new QWidget();
QVBoxLayout *layout = new QVBoxLayout(widget);
2. 创建QPushButton对象并将其添加到QWidget中,在添加QPushButton之前,可以先设置其最小尺寸以及最大尺寸来调整按钮的大小:
QPushButton *button = new QPushButton("Button");
button->setMinimumSize(100, 50);
button->setMaximumSize(200, 100);
layout->addWidget(button);
3. 设置QWidget的布局,使其垂直居中对齐:
layout->setAlignment(Qt::AlignVCenter);
4. 将QWidget设置为主窗口的中心窗口,以实现居中显示:
setCentralWidget(widget);
通过以上步骤,即可将QPushButton垂直居中对齐。