概要:这期主要讲解Qt中的控件和事件的概念。然后,我还会简单介绍一些常见的控件以及事件。

Qt控件是什么?

Qt 控件又称组件或者部件,指用户看到的所有可视化界面以及界面中的各个元素。比如按钮、文本框、输入框等,我们一般会在ui文件中引用Qt控件来实现一些界面显示效果。

然后,重要的一点:Qt提供的控件都存在对应的Qt类,而这些Qt类都间接或直接地继承于QWidget类。

进入Qt Creator的UI设计界面,左边的窗口为你展示了Qt原生的控件,如下图所示:

Qt事件是什么?

Qt 事件是指由应用程序内部和外部产生的动作或者响应的总称。 例如鼠标点击事件、控件点击事件、控件释放事件、定时器结束事件等。

正因为Qt事件的存在,引出了事件的发出(信号)与事件的处理(槽)。这两个概念会在下期进行讲解。

接下来,讲一讲常用的Qt控件:

(在这学习到Qt控件类之前,推荐使用Qt自带的Assisitant,Qt原生的类、接口都可以查到)

一、Display Widget

1.QLabel :标签,可以用来显示文本、图片或者动画等。

常用函数举例:
//1.显示文本 --- void setText(const QString &)
ui->label->setText("");
//2.显示图片 --- void setPixmap(const QPixmap &)
ui->label->setPixmap(QPixmap());
//3.显示动画 --- void setMovie(QMoive *moive)
ui->label->setMovie(QMovie());

二、Input Widget

1.QLineEdit :单行文本编辑框。

常用函数举例:
//1.设置内容 --- void setText(const QString &)
ui->lineEdit->setText("");
//2.获取内容 --- QString text() const
QString _qsStr = ui->lineEdit->text();
2.QTextEdit :多行文本编辑框

常用函数举例:
//1.设置内容 --- void setText(const QString &)
ui->textEdit->setText("");
// --- void insertPlainText(const QString &)
ui->textEdit->insetPlainText(""); //equivalent to  ui->textEdit->textCursor().insertText("");
//2.获取内容 --- QString toPlaintText() const
QString _qsStr = ui->textEdit->toPlainText();
//3.在最后一行添加 -- void append(const QString &)
ui->textEdit->append("");

三、Buttons

1.QPushButton :普通按钮。

常用函数举例:
//1.设置按钮的文本内容 --- void setText(const QString &)
ui->pushButton->setText("");
//2.获取按钮的文本内容 --- QString text() const
QString _qsStr = ui->pushButton->text();
//3.设置按钮禁用 --- void setDisabled(bool)
ui->pushButton->setDisabled(true);
//4.设置按钮启用 --- void setEnabled(bool)
ui->pushButton->setEnabled(true);
2.QRadioButton :单选按钮。

//1.设置按钮的文本内容 --- void setText(const QString &)
ui->radioButton->setText("");
//2.设置按钮的选中状态 --- void setChecked(bool)
ui->radioButton->setChecked(true);
//3.获取按钮的选中状态--- bool isChecked() const
bool _bIsCheck = ui->radioButton->isChecked();
//4.设置按钮禁用 --- void setDisabled(bool)
ui->radioButton->setDisabled(true);
//5.设置按钮启用 --- void setEnabled(bool)
ui->radioButton->setEnabled(true);

四、Containers

1.QWidget :子窗口。

常用函数举例:
//1.隐藏 --- void hide()
ui->widget->hide();
//--- void setVisble(bool)
ui->widget->setVisable(false);
//2.显示 --- void show()
ui->widget->show();
//--- void setVisble(bool)
ui->widget->setVisable(true);

结尾:今天暂时先介绍一些简单的控件,后续的控件会在后面的文章中学习。

【QT 基础教程 四】QT中的控件与事件相关推荐

  1. mfc入门基础(四)对话框添加控件、创建对话框类和为对话框控件添加变量

    参考博客:VS2010/MFC编程入门之七(对话框:为对话框添加控件)-软件开发-鸡啄米 VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)-软件开发-鸡啄米 基于基础(三)中写的 ...

  2. android中ListView控件onItemClick事件中获取listView传递的数据

    http://blog.csdn.net/aben_2005/article/details/6592205 本文转载自:android中ListView控件&&onItemClick ...

  3. android listview和simpleadapter 给itme 中的控件添加事件

    simpleAdapter.setViewBinder(new SimpleAdapter.ViewBinder() { @Override public boolean setViewValue(V ...

  4. GMap.NET入门详细教程【4】--------为控件添加事件,在鼠标单击时打点

    GMap.NET入门 下载 GMap.NET,并在VS中添加GMap.NET控件 初始化并加载一张地图 添加标记点.线.多边形 为控件添加事件,在鼠标单击时打点 快捷添加 选中窗体中的GMap控件,并 ...

  5. Qt自定义委托在QTableView中绘制控件、图片、文字

    自定义委托,继承于,QStyledItemDelegate类,重载Paint()函数, 1.实现在QTableView中绘制 格式字符串 2.实现在QTableView中绘制进度条 3.实现在QTab ...

  6. 【Android】基础篇:Android中TextView控件学习

    大家好,我是皮皮猫吖. 每文一言: 我不去想是否能够成功,既然选择了远方,便只顾风雨兼程. 本篇文章: 主要是关于TextView控件的学习. 正文如下: 根据TextView控件进行如下相关操作 案 ...

  7. .net中多控件共享事件处理程序的方法

    VB开发中,多个同种类型的控件组成控件数组,这样各个控件就可以共享同一应用程序,如命令按钮Command1(1).Command1(2).Command1(3)共用Command1_Click(). ...

  8. C#中为控件添加事件时提示“ dataGridView1_CellValidating”没有与委托“DataGridViewCellEventHandler”匹配的重载

    遇到的问题描述: 在xxx.designer.cs和xxx.cs中分别手动添加了函数和其定义,注意,是我自己一个一个敲代码敲进去的.结果编译时就没通过,提示问题如下: 在网上搜了一大圈,都找不到符合我 ...

  9. 【Qt】桌面应用开发教程——布局|按钮组|容器|常用控件|消息事件机制

    文章目录 3.布局 3.1 系统提供的布局控件 3.2 利用widget做布局 3.3 利用表单做布局 4.按钮组 5.项目构建组 6.容器 7.常用控件 7.1 QLabel控件使用 7.1.1 显 ...

最新文章

  1. Python创建目录文件夹
  2. 系统无法正确检测到盘符
  3. 在Java Build Path中找不到超类“javax.servlet.http.HttpServlet”[重复]
  4. android sync manager wifi pc,Android SyncManager 实现
  5. PowerDesigner与SQL Server相连
  6. pandas中关于DataFrame计算时间差(加减)
  7. 【转载】Asp.Net中基于Forms验证的角色验证授权
  8. 前端学习(579):chrome devtools功能简介
  9. 利用sql语句实现到datagridview显示的转换
  10. 哪些趋势正在推动人工智能创新?
  11. lucene的基础入门
  12. 有趣的mysql string和0比较返回1的问题
  13. 本地mongochef连接其他计算机上的数据库认证失败解决方法
  14. idea debug collecting 卡死
  15. 网络设备常见接口和模块
  16. clonezilla使用_使用Clonezilla克隆Windows和Linux驱动器和分区
  17. jdbc操作数据库实现查询产品、增加产品库存量例子
  18. python求两数最大公因数_Python求两个数的最大公约数
  19. 京东商城ContainerLB实践
  20. @EnableScheduling和@Scheduled的使用

热门文章

  1. 中国医科大学21秋学期《药理学(本科)》实践考试试题
  2. 安装了windows的计算机,教你在手机上安装Windows系统,这下可以直接扔掉电脑了!...
  3. C++经典算法题-老鼠走迷官(二)
  4. 南京晓庄学院计算机专业哪个校区,2021年南京晓庄学院有几个校区,大一新生在哪个校区...
  5. Xstart Insatll And Usage
  6. 博客中锦鲤是如何炼成的
  7. LeetCode 每日一题——1684. 统计一致字符串的数目
  8. 《Automatic Image-Based WasteClassification》论文笔记
  9. 【2023最新】VeighNa量化VN.PY的系统学习资料
  10. 三星 android10.0,三星公布Android 10.0国行升级计划:规模庞大