前言
很多时候我们可以在UI designer上拖拽控件进行编写UI,但有的时候需要的控件数量是未知的,这时候就需要在代码中进行编写了。
效果
以下是添加2个控件组的效果
以下是添加20个控件组的效果,控件过多会自动添加滚动条
点击delete按钮可以删除所有控件组,同样可以知道是哪个按钮点击的。
实现
代码参考了网上的,自己做了一些修改。
创建一个新的控件组类,布局,开出接口供外部调用
void setInfo(QString str_lb,QString str_btn);
void Mybtns::setInfo(QString str_lb, QString str_btn)
{
ui->label->setText(str_lb);
ui->pushButton->setObjectName(str_btn);
}
MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QHBoxLayout>
#include <QPushButton>
#include <QDebug>
#include "mybtns.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void slotBtnClicked();
void on_pushButton_clicked();