• 按钮控件(Button)


    QAbstractButton类是按钮部件的抽象基类,提供了按钮的通用的功能。

    常用的有:

    QPushButton标准按键
    QCheckBox多选按钮
    QRadioButton单选按钮
    QGroupBox选项容器
    QToolButton工具按键(少用)

    一:QPushButton

    这是最常用的按键之一。

    构造函数有三种:可以添加图标、内容和父类。

    1. QPushButton *pb1=new QPushButton(QIcon(":/new/prefix1/E:/图片/24110307_6.jpg"),"按键一",this);
    2. pb1->setFixedSize(200,200);//设置按键大小
    3. pb1->move(100,100);//移动按键

     常见的一些函数:

    函数功能
    setText()添加控件文字信息
    setFixedSize()修改控件大小
    adjustSize()自动调整控件大小(自适应)
    text()获取控件内容(QString)
    move()设置按钮位置
    setFont()设置字体
    setDefault()相应控件click事件
    setFlat()外观设置为平铺
    setIcon()添加图标
    setIconSize()设置图标大小
    setGeometry()设置按键位置和大小
    setCursor()设置鼠标位于按钮时的光标类型
    setDisabled() setEnabled()按键的禁用和启用
    setMenu设置菜单

    QPushButton常见的一些信号函数:

    1. QPushButton *pb1=new QPushButton(this);
    2. pb1->setFixedSize(200,60);//设置按键大小
    3. pb1->move(100,100);//移动按键
    4. //等价于pb1->setGeometry(100,100,200,60);
    5. pb1->setText("按键");
    6. pb1->setIcon(QIcon(":/new/prefix1/E:/图片/24110307_6.jpg"));//设置图标
    7. pb1->setIconSize(QSize(40,40));//设置图标大小
    8. QString p=pb1->text();//获取按键内容
    9. qDebug()<<p;//输出按键内容
    10. QFont font;
    11. bool ok;
    12. font=QFontDialog::getFont(&ok,QFont("宋体",20),this,"选择字体");
    13. pb1->setFont(font);//设置字体
    14. pb1->setDisabled(true);//禁用按键
    15. //pb1->setEnabled(true);//启用按键

     setMenu的使用:

    1. QPushButton *pb1=new QPushButton("按键",this);
    2. pb1->move(200,200);
    3. QMenu *menu=new QMenu;
    4. menu->addAction("一");
    5. menu->addAction("二");
    6. menu->addAction("三");
    7. pb1->setMenu(menu);

     QMenu后面会详细介绍

    QRadioButton

    QRadioButton和QGroup一起使用,实现单选功能。

    构造函数有:

    常用的函数:

     

    setChecked(bool)设置默认选中
    信号&QRadioButton::toggled(bool)获取按键状态:选中为true
    isCheck()获取按键当前状态
    1. QGroupBox *GBox=new QGroupBox(this);
    2. GBox->setTitle("标题选择");//设置标题
    3. GBox->move(100,100);
    4. QRadioButton *R1=new QRadioButton(GBox);
    5. QRadioButton *R2=new QRadioButton(GBox);
    6. QRadioButton *R3=new QRadioButton(GBox);
    7. QRadioButton *R4=new QRadioButton(GBox);
    8. R1->setText("选项一");
    9. R2->setText("选项二");
    10. R3->setText("选项三");
    11. R4->setText("选项四");
    12. QVBoxLayout *layout=new QVBoxLayout(GBox);
    13. layout->addWidget(R1);
    14. layout->addWidget(R2);
    15. layout->addWidget(R3);
    16. layout->addWidget(R4);
    17. R1->setChecked(true);//默认选中
    18. connect(R1,&QRadioButton::toggled,[=](int p)
    19. {
    20. qDebug()<<p;
    21. });
    22. qDebug()<<R1->isChecked();//获取R1的当前状态

     

     

     三:QCheckBox

    QCheckBox一般和QGroupBox一起使用,实现多项选择。

    QCheckBox的构造函数:可以设置选项标志信息,和父类。

    stateChanged(int x)使用该函数获取选项的状态
    setTristate(bool)是否对选项进行监听 
    isChecked()获取是否为选中状态,会返回一个bool值

    注意:isChecked和setTristate一起使用时,预选和选中 isChedked都为true 

    1. QGroupBox *GBox=new QGroupBox(this);
    2. GBox->setTitle("标题选择");//设置标题
    3. GBox->setGeometry(100,100,200,400);
    4. QCheckBox *CBox1=new QCheckBox(GBox);
    5. QCheckBox *CBox2=new QCheckBox(GBox);
    6. QCheckBox *CBox3=new QCheckBox(GBox);
    7. QCheckBox *CBox4=new QCheckBox(GBox);
    8. CBox1->setText("第一个选项");
    9. CBox2->setText("第二个选项");
    10. CBox3->setText("第三个选项");
    11. CBox4->setText("第四个选项");
    12. QVBoxLayout *layout=new QVBoxLayout(GBox);//创建一个垂直布局
    13. layout->addWidget(CBox1);
    14. layout->addWidget(CBox2);
    15. layout->addWidget(CBox3);
    16. layout->addWidget(CBox4);
    17. CBox1->setTristate(true);//启动监听
    18. connect(CBox1,&QCheckBox::stateChanged,[=](int p)//设置一个参数,接收信息
    19. {
    20. qDebug()<<p;
    21. qDebug()<<CBox1->isChecked();
    22. });

      stateChanged 会返回状态 2 (选中)1(预选) 0(未选中)

     

     四:QToolButton

    QToolButton工具按键一般用于QToolBar中,不会单独使用,之后和QToolBar一起介绍。

  • 相关阅读:
    论文解读:Rectifying the Shortcut Learning of Background for Few-Shot Learning
    宣布推荐计划有什么方法?
    【并发编程】线程池及Executor框架
    MySQL小白入门攻略
    数据如何指导决策:优酷主客APP播转率的C端优化
    mybatis trim标签使用详解
    Integrator积分器测试(Simulink仿真)
    windows的ui自动化测试相关
    Linux sed
    java家教信息计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/127729907