- #ifndef WIDGET_H
- #define WIDGET_H
-
- #include
- #include
//行编辑器 - #include
//文本编辑器 - #include
//单选按钮 -
- class Widget : public QWidget
- {
- Q_OBJECT
-
- public:
- Widget(QWidget *parent = 0);
- ~Widget();
-
- private:
- QLineEdit *li;
- QTextEdit *te;
- QRadioButton *rb[4]; //指针数组存放4指针
-
- };
-
- #endif // WIDGET_H
- #include "widget.h"
- #include
//水平布局 - #include
//垂直布局 -
- Widget::Widget(QWidget *parent)
- : QWidget(parent)
- {
- li = new QLineEdit(this); //创建一个行编辑器
- li->setReadOnly(true); //设置为只读
-
- te = new QTextEdit(this); //创建一个文本编辑器
- te->setFixedSize(320,240);
-
- QVBoxLayout *vbox1 = new QVBoxLayout(); //创建垂直布局管理器
- vbox1->addWidget(li); //添加
- vbox1->addWidget(te);
-
- QStringList list = {"成都","贵阳","长沙","深圳"}; //保存单选按钮的名字
-
- QVBoxLayout *vbox2 = new QVBoxLayout(); //创建垂直布局管理器
-
- for(int i = 0;i < 4;i++)
- {
- rb[i] = new QRadioButton(this); //创建4个单选按钮
- rb[i]->setText(list.at(i)); //分别给4个单选按钮取名
- vbox2->addWidget(rb[i]); //将它们加入垂直布局管理器
- connect(rb[i],&QRadioButton::clicked,this,[=](){ //单选按钮被按下并松开触发
- li->setText(list.at(i)); //设置文本框内容为list.at(i)
- te->append(list.at(i)); //文本编辑器中内容追加为list.at(i)
- });
- }
-
- QHBoxLayout *hbox = new QHBoxLayout(); //创建水平布局管理器
- hbox->addLayout(vbox1); //将vbox1垂直布局加入其中
- hbox->addLayout(vbox2); //将vbox2垂直布局加入其中
-
- setLayout(hbox); //设置整个布局
- }
-
- Widget::~Widget()
- {
-
- }



