QT入门(十一)——list列表|listwidget列表|多个窗口之间的嵌套


list列表 类似于父亲 向里面连续添加字符串
listwidget 类似于儿子 向里面添加字符串 按钮 新的页面

mainwindow与mainwindow之间只能切换,不能融合包含

widget可以插入mainwindow中
所以,如果一个窗口要插入mainwindow中,在创建的时候就要选择widget类型

在这里插入图片描述

在这里插入图片描述

在listview中创建字符串列表

//点击按钮创建字符串列表
void MainWindow::on_bt1_clicked()
{
    //创建一个字符串列表
    //QStringList list;在.h中定义,就可以保存原来的内容,可以不停的写
    //把字符串添加到列表中
    list<<"hello"<< "world";

    //创建一个字符串的列表模型
    QStringListModel *model = new QStringListModel();
    //把字符串列表模型里面的数据设置为list
    model->setStringList(list);

    ui->listView->setModel(model);

}

在listwidget中创建字符

//创建字符串
void MainWindow::on_pushButton_clicked()
{
    ui->listWidget->addItem("hello");
}

在listwidget中创建按钮

//创建按钮
void MainWindow::on_pushButton_2_clicked()
{
    QPushButton *button = new QPushButton();
    //button->show();

    //将按钮与当前窗口关联起来,即组件与组件之间的关联的方法
    //item是一个中转站
    //item先与列表listWidget关联
    QListWidgetItem *item = new QListWidgetItem;
    ui->listWidget->addItem(item);

    //设置按钮插入列表中
    //然后item与button关联
    ui->listWidget->setItemWidget(item,button);

}

在listwidget中创建窗口

提前将要插入的窗口新建好,ui界面也设置好
在这里插入图片描述

//创建窗口
void MainWindow::on_pushButton_3_clicked()
{
    //创建窗口的前提是:首先要有窗口()
    Form *w = new Form();

    //创建一个随机数
    QListWidgetItem *atiem = new QListWidgetItem();
    //在listwidget中添加一个新的窗口atiem
    ui->listWidget->addItem(atiem);

    //设置窗口尺寸 让w窗口和atiem大小相同
    atiem->setSizeHint(w->sizeHint());

    //atiem与w关联起来
    ui->listWidget->setItemWidget(atiem,w);


}

在列表中先添加一个空白的窗口 atiem,然后再把form这个窗口与列表中的空窗口关联起来。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值