当前位置: 代码迷 >> QT开发 >> 点击Widget对象中的button按钮之后在该Widget对象中增加一个button如何实现
  详细解决方案

点击Widget对象中的button按钮之后在该Widget对象中增加一个button如何实现

热度:409   发布时间:2016-04-25 02:51:53.0
点击Widget对象中的button按钮之后在该Widget对象中增加一个button怎么实现?
    MainWindow类中创建了一个Button对象,想通过点击这个对象在MainWindow中增加另外一个Button对象。
我的做法是首先在MainWindow类中声明要增加的Button对象,然后在槽函数中定义这个Button,设置父对象为MainWindow。运行之后,无现象。我是不是忽视了什么?还是方法压根就不对?
------解决思路----------------------
换一下button位置,是不是两个button位置重叠了?
------解决思路----------------------
 我的思路是  new button  ,然后设置parent,最后show,试试呢
------解决思路----------------------
引用:
Quote: 引用:

 我的思路是  new button  ,然后设置parent,最后show,试试呢

如果在构造函数中new再设置parent,新Button直接显示在parent上了,如果在槽函数里new Button,响应槽函数之后没什么变化。




#include "mainwindow.h"
#include "ui_mainwindow.h"


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    push = new QPushButton;

}

MainWindow::~MainWindow()
{
    delete ui;
}



void MainWindow::on_pushButton_clicked()
{
    push->setParent(this);
    push->move(0,0);
    push->resize(20,30);
    push->show();
}





正确的做法是在构造函数里面new,然后在on_pushButton_clicked()方法里面(或你的slot里面) setparent~
  相关解决方案