• QT:使用行编辑器、文本编辑器、单选按钮、水平布局、垂直布局做一个小项目


    widget.h

    1. #ifndef WIDGET_H
    2. #define WIDGET_H
    3. #include
    4. #include //行编辑器
    5. #include //文本编辑器
    6. #include //单选按钮
    7. class Widget : public QWidget
    8. {
    9. Q_OBJECT
    10. public:
    11. Widget(QWidget *parent = 0);
    12. ~Widget();
    13. private:
    14. QLineEdit *li;
    15. QTextEdit *te;
    16. QRadioButton *rb[4]; //指针数组存放4指针
    17. };
    18. #endif // WIDGET_H

    widget.cpp

    1. #include "widget.h"
    2. #include //水平布局
    3. #include //垂直布局
    4. Widget::Widget(QWidget *parent)
    5. : QWidget(parent)
    6. {
    7. li = new QLineEdit(this); //创建一个行编辑器
    8. li->setReadOnly(true); //设置为只读
    9. te = new QTextEdit(this); //创建一个文本编辑器
    10. te->setFixedSize(320,240);
    11. QVBoxLayout *vbox1 = new QVBoxLayout(); //创建垂直布局管理器
    12. vbox1->addWidget(li); //添加
    13. vbox1->addWidget(te);
    14. QStringList list = {"成都","贵阳","长沙","深圳"}; //保存单选按钮的名字
    15. QVBoxLayout *vbox2 = new QVBoxLayout(); //创建垂直布局管理器
    16. for(int i = 0;i < 4;i++)
    17. {
    18. rb[i] = new QRadioButton(this); //创建4个单选按钮
    19. rb[i]->setText(list.at(i)); //分别给4个单选按钮取名
    20. vbox2->addWidget(rb[i]); //将它们加入垂直布局管理器
    21. connect(rb[i],&QRadioButton::clicked,this,[=](){ //单选按钮被按下并松开触发
    22. li->setText(list.at(i)); //设置文本框内容为list.at(i)
    23. te->append(list.at(i)); //文本编辑器中内容追加为list.at(i)
    24. });
    25. }
    26. QHBoxLayout *hbox = new QHBoxLayout(); //创建水平布局管理器
    27. hbox->addLayout(vbox1); //将vbox1垂直布局加入其中
    28. hbox->addLayout(vbox2); //将vbox2垂直布局加入其中
    29. setLayout(hbox); //设置整个布局
    30. }
    31. Widget::~Widget()
    32. {
    33. }

    结果

  • 相关阅读:
    manim边做边学--数轴
    el-form表单实现校验
    【Mysql】InnoDB数据页结构(五)
    Java工具类:HttpUtil项目实战
    企业怎么优化固定资产管理
    Webpack中的plugin插件机制
    游戏架构设计——高性能并行编程
    《十》Qt各种对话框之QFontDialog
    干货 | 答编辑/审稿人问之样本量大关
    1.4 - 定点数与浮点数
  • 原文地址:https://blog.csdn.net/cxy255256/article/details/132948471