2019独角兽企业重金招聘Python工程师标准>>>

Qt Creater中有6种Buttons控件,比Qt Designer 多了Command Link Button 和Button Box两种控件,其余4中类型的控件分别是QPushButton、QToolButton、QCheckBox、。它们的基本用法和Qt Designer 类似,因为它们使用的类基本相同,属性和成员函数没有太多变化,具体的细节希望各位看官查看相关文档或百度,这里就不再赘述了!

下面直接贴代码,在这个示例中,我们建立一个标准的Qt Gui Application项目,它包含了菜单栏、工具栏和状态栏,但是在这里我们不需要它们,所以就把它们删除,运用前面讲的布局知识,将设计界面改成下述样式即可!

示例功能说明:

×单击选中一个RadioButton时,Label显示选中的RadioButton;

×单击选中一个CheckBox时,Label显示当前所有选中的CheckBox;

×单击CountCheckBox按钮时,统计当前所有选中的CheckBox,Label显示氮气所有选中的CheckBox。

在这里我们使用Qt自动生成的槽函数,不要写信号与槽函数的映射,(方法:右键单击你想添加槽的控件,选中Go to slot,选择槽函数所对应的信号函数,确定后就会产生槽函数的声明和定义框架)

右击控件radioButton,选中“Go go solt”选项,在信号窗口中选择信号如下图所示:

然后只需要填充槽函数即可!

按照同样的方法将其余几个控件都添加上对应的槽,项目创建及对应的控件属性、信号、槽函数编译完成之后,接下来对相应的文件进行编辑,示例代码如下所示:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();void displayCheckBox();private slots:void on_radioButton_clicked();void on_radioButton_2_clicked();void on_radioButton_3_clicked();void on_checkBox_clicked();void on_checkBox_2_clicked();void on_checkBox_3_clicked();private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::displayCheckBox()
{QString str;str = "";if(ui->checkBox->isChecked()){str += "CheckBox1 is Checked!";}if(ui->checkBox_2->isChecked()){str += "CheckBox2 is Checked!";}if(ui->checkBox_3->isChecked()){str += "CheckBox3 is Checked!";}ui->label_2->setText(str);
}void MainWindow::on_radioButton_clicked()
{ui->radioButton->setChecked(true);ui->label->setText("adioButton1 is checked!");
}void MainWindow::on_radioButton_2_clicked()
{ui->radioButton_2->setChecked(true);ui->label->setText("adioButton2 is checked!");
}void MainWindow::on_radioButton_3_clicked()
{ui->radioButton_3->setChecked(true);ui->label->setText("adioButton3 is checked!");
}void MainWindow::on_checkBox_clicked()
{if(ui->checkBox->isChecked()){this->displayCheckBox();}else{this->displayCheckBox();}
}void MainWindow::on_checkBox_2_clicked()
{if(ui->checkBox_2->isChecked()){this->displayCheckBox();}else{this->displayCheckBox();}
}void MainWindow::on_checkBox_3_clicked()
{if(ui->checkBox_3->isChecked()){this->displayCheckBox();}else{this->displayCheckBox();}
}

main.cpp

#include "mainwindow.h"
#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

运行结果如下所示:

好了,今天就到这吧,我还要赶紧复习,快要考试了,好忙的说呀!

对了,各位Osecers们,如果你们看到我讲的有不对的地方,希望能够指出,小弟我这里先谢过了,如果有人不懂可以在我的博客里留言我等你哦!O(∩_∩)O~!

转载于:https://my.oschina.net/hippiedom/blog/337510

Qt学习笔记(3)——PushButton、RadioButton、CheckBox相关推荐

  1. QT学习笔记(摘抄)

    QT学习笔记-1.QT主要的对象 说来惭愧学习c++很长时间了一直没有使用c++开发过软件界面 所以现在想认认真真的学习一个c++图形界面框架库 本来想学习Xwidget但是这个资料不大好找 有啥问题 ...

  2. Qt学习笔记,Qt国际化

    Qt学习笔记,Qt国际化 Qt国际化步骤: 第一步:设置.pro文件,加入TRANSLATIONS为国际化做准备 TRANSLATIONS = language/language_en.ts\     ...

  3. Qt学习笔记,Qt程序架构设计要旨

    Qt学习笔记,Qt程序架构设计要旨 时间过得很快,转眼学习Qt已经有一个多月了,对Qt的学习也在不断的深入中.自己手下的code也很多了,不过不得不说,还有很多的部分没有接触过,比如网络编程,2D,3 ...

  4. Qt学习笔记之MySQL数据库

    一.MySQL概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQ ...

  5. Qt学习笔记之数据库

    一.数据库简介 1.1.数据和数据库(DB) 用计算机进行数据处理,首先就要把信息以数据形式存储到计算机中,故数据是可以被计算机接受和处理的符号.根据所表示的信息特征不同,数据有不同的类别,如数字.文 ...

  6. Qt学习笔记之文件处理

    Qt提供了通用的文件处理类QFile和处理文本的QTextStream类和处理二进制数据的QDataStream类,这些流操作极大地方便了对文件的督促存储.对文件信息和目录进行操作的类是QfileIn ...

  7. Qt学习笔记之国际化

    国际化的英文表述为Internationalization,通常简写为I18N(首尾字母加中间的字符数),一个应用程序的国际化就是使该应用程序可以让其他国家的用户使用的过程. 1. 相关的Qt类和AP ...

  8. Qt学习笔记之 字符串类型小结

    1. Qt常用字符串类型 1.1 QString QString是Unicode编码的字符串,存储一系列16位的QChar,每一个QChar对应一个Unicode 4.0编码的字符,详见<Qt学 ...

  9. Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4)...

    Qt学习笔记,再次分析EVA源码之后得出的结论-QListView,QListViewItem(Qt3);Q3ListView,Q3ListViewItem(Qt4) 今天再次分析了Eva的源码,也看 ...

  10. QT学习笔记(十六):setwindowflags的属性总结

    QT学习笔记(十六):setwindowflags的属性总结 此枚举类型用于为小部件指定各种窗口系统属性.它们是不常用的,但在一些情况下是必要的.其中一些标志取决于底层窗口管理器是否支持它们. 主要类 ...

最新文章

  1. 高并发环境下如何优化Tomcat性能?看完我懂了!
  2. [转]CSS3 transform顺序问题
  3. python大学课程-大学只安排了C和Python课程,是否有必要学习一下Java
  4. disaster——我都做了些什么啊!
  5. mkfs -t ext3 错误/dev/sdxx is apparently in use by the system; 解决方法
  6. powershell 中的pause
  7. 优化JMeter自身性能
  8. 本地windows主机无法访问虚拟机里主机解决办法
  9. Hibernate讲解(三)-Hibernate的基本映射数据类型
  10. Eclipse 中 代码颜色的设置(注释的颜色, 局部变量的颜色, 类变量的颜色。。。 )
  11. 关于DMA的两个小知识点
  12. android 图片素描算法
  13. 转 常用C#正则表达式收集。
  14. HTML5 新属性的讲解
  15. 明晰监管范围保护信息安全
  16. 几步操作即可实现WhatsApp群发
  17. [M1]Daily Scum 9.27
  18. BKEX Global研究院最新市场信息解读
  19. 刀头剑首!产品经理是个危险的职业!
  20. 【无标题】UE4连接vr外部设备

热门文章

  1. 电脑切换窗口快捷键_计算机二级常用快捷键
  2. 蜘蛛搜索引擎_「SEO工具」如何利用爱站工具去分析各搜索引擎蜘蛛情况?
  3. if条件判断C语言,if条件判断语句,谁能帮我分析一下?
  4. java dayofweek_Java日期时间API系列22-----Jdk8中java.time包中的新的日期时间API类,Month月份和DayOfWeek星期的计算。...
  5. 15复变函数的积分(一)
  6. php百度地图定位到街道,百度地图拖动标注输出当前定位坐标及街道信息
  7. ORB_SLAM3在ubuntu18.04安装和初步测试+轨迹评估
  8. 图片生成html_markdown 生成头条文章的一个实现
  9. U盘安装服务器2008系统蓝屏,U盘安装系统造成蓝屏如何解决
  10. 《C++游戏开发》笔记十一 平滑动画:不再颤抖的小雪花