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

walry_dudu 2015-10-19 10:46:54
MainWindow类中创建了一个Button对象,想通过点击这个对象在MainWindow中增加另外一个Button对象。
我的做法是首先在MainWindow类中声明要增加的Button对象,然后在槽函数中定义这个Button,设置父对象为MainWindow。运行之后,无现象。我是不是忽视了什么?还是方法压根就不对?
...全文
255 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
在飞的特拉斯 2015-10-22
  • 打赏
  • 举报
回复
引用 6 楼 walry_dudu 的回复:
[quote=引用 5 楼 mqdsg 的回复:] [quote=引用 4 楼 walry_dudu 的回复:] [quote=引用 3 楼 mqdsg 的回复:] 我的思路是 new button ,然后设置parent,最后show,试试呢
如果在构造函数中new再设置parent,新Button直接显示在parent上了,如果在槽函数里new Button,响应槽函数之后没什么变化。[/quote]

#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~[/quote] 果然可以,问题解决了。感谢[/quote] 结贴结贴
walry_dudu 2015-10-22
  • 打赏
  • 举报
回复
引用 5 楼 mqdsg 的回复:
[quote=引用 4 楼 walry_dudu 的回复:] [quote=引用 3 楼 mqdsg 的回复:] 我的思路是 new button ,然后设置parent,最后show,试试呢
如果在构造函数中new再设置parent,新Button直接显示在parent上了,如果在槽函数里new Button,响应槽函数之后没什么变化。[/quote]

#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~[/quote] 果然可以,问题解决了。感谢
在飞的特拉斯 2015-10-20
  • 打赏
  • 举报
回复
引用 4 楼 walry_dudu 的回复:
[quote=引用 3 楼 mqdsg 的回复:] 我的思路是 new button ,然后设置parent,最后show,试试呢
如果在构造函数中new再设置parent,新Button直接显示在parent上了,如果在槽函数里new Button,响应槽函数之后没什么变化。[/quote]

#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~
walry_dudu 2015-10-20
  • 打赏
  • 举报
回复
引用 3 楼 mqdsg 的回复:
我的思路是 new button ,然后设置parent,最后show,试试呢
如果在构造函数中new再设置parent,新Button直接显示在parent上了,如果在槽函数里new Button,响应槽函数之后没什么变化。
在飞的特拉斯 2015-10-20
  • 打赏
  • 举报
回复
我的思路是 new button ,然后设置parent,最后show,试试呢
gldcpp 2015-10-19
  • 打赏
  • 举报
回复
换一下button位置,是不是两个button位置重叠了?
walry_dudu 2015-10-19
  • 打赏
  • 举报
回复
引用 1 楼 gldcpp 的回复:
换一下button位置,是不是两个button位置重叠了?
我重新设置了新Button的位置,但是还不行,应该不是位置的问题。
课程首先介绍了Flutter的主要知识,通过4个案例消化吸收知识点。并通过手把手一步步带您完成一个【我的备忘录】APP项目,使得您真正认识Flutter在实际项目的优势。  通过本课程学习您可以学习到Flutter技术如下知识:第1章 Flutter概述知识点:移动应用开发现状、移动应用开发类型、Hybrid与移动跨平台开发策略、Flutter是什么?、Flutter特点、Flutter体系结构。第2章 Flutter开发环境搭建知识点:基于Windows的Android开发环境、基于macOS的iOS开发环境、IDE开发工具设置。第3章 Flutter基础知识点:完成一个Flutter程序、一切都是组件(Widget)、组件分类、使用图片和图标资源、使用文本组件、增加调试组件工具。第4章 布局组件知识点:Flutter布局概述、容器布局(Container)、行(Row)、列(Column)布局、层叠布局、ListView、GridView。第5章 Material风格组件知识点:按钮、输入框、复选框、单选按钮、开关按钮、滑块。第6章 iOS Cupertino风格组件知识点:iOS Cupertino页面、Cupertino按钮、Cupertino开关按钮、Cupertino滑块、Cupertino分段控件。第7章 状态管理知识点:状态管理概述、局部状态管理、全局状态管理。第8章 导航知识点:导航概述、面包屑导航、标签导航、页面组件分散在不同文件、全局状态管理与导航。第9章 工程依赖管理知识点:工程依赖管理概述、pub依赖管理工具。第10章 数据存储知识点:Flutter数据存储策略、键值对数据存储、文件数据存储、SQLite数据存储、示例:数据CRUD操作。第11章 网络通信知识点:搭建自己的Web服务器、使用http包、示例:城市信息列表。第12章 项目实战:我的备忘录APP知识点:备忘录APP项目说明、备忘录项目后台Web服务API说明、备忘录APP项目分析与设计、初始化工程、持久层实现、表示层实现。 

16,153

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧