“QT快速上手指南”之计算器(一)Qt Creator,窗口组件

news2024/11/29 7:47:01

文章目录

  • 前言
  • 一、什么是QT?
  • 二、准备工作:
      • 1. 安装Qt Creator:
      • 2. 安装Qt SDK:
      • 3. 下载安装器:
  • 三、窗口组件:
  • 四、QT 基本组件的简单介绍:
      • 1. QWidget
      • 2. QPushButton
      • 3. QLabel
      • 4. QLineEdit
      • 5. QSpinBox
      • 6. QComboBox
  • 总结


前言

从这篇文章开始,我们开始学习 QT 的知识,首先 我们先开始做一个小项目,制作一个计算器。
本教程是在 Windows 下来实现该项目,具备计算器的一些基础功能。

具体功能实现:自制计算器实验效果

![在这里插入图片描述](https://img-blog.csdnimg.cn/ac9c89142ac640b99545172e87b6cd9f.png

一、什么是QT?

QT 是一个跨平台的应用程序开发框架,可用于创建高质量、良好可维护性并且用户友好的GUI应用程序。

QT的主要特点包括:

1. 跨平台性
QT 可以在多个桌面和移动操作系统上运行,例如 LinuxWindows、macOS、iOS和Android。QT使用基于C++的跨平台代码,因此可以方便地在不同的操作系统上编写一致的GUI应用程序。

  1. 封装性
    QT封装了底层操作系统的API,并提供了简单易用的类和函数,使得开发人员可以快速开发出高质量的GUI应用程序,而无需深入研究底层API。

  2. 可扩展性
    QT提供了大量的模块和库,开发人员可以在其上进行扩展和定制,例如:QT Core、QT GUI、QT Multimedia、QT Network和QT WebKit等。

  3. 信号槽机制
    QT使用了一种独特的信号槽机制,用于处理对象之间的通信。这种机制提供了一种简单、直接且类型安全的编程方式,使得开发人员可以更轻松地实现对象之间的互动。

  4. 可视化编程
    QT Creator是QT的集成开发环境,其提供了可视化的GUI设计工具。开发人员可以通过拖拉控件、设置属性和基于信号槽机制的交互操作,迅速创建 GUI 应用程序。

总的来说,QT是一个功能强大、易用、跨平台的框架,适合于创建各种类型的 GUI 应用程序,包括工具、游戏、媒体应用等。QT是一个跨平台的应用程序开发框架,支持 C++ 和其他语言。借助QT,我们可以很容易地创建桌面应用程序计算器。

二、准备工作:

1. 安装Qt Creator:

QT Creator是QT的官方集成开发环境(IDE),为 Qt 开发提供一个高效的代码编辑环境。

2. 安装Qt SDK:

为QT的开发提供必要的类和函数,以及相关的工具。

由于QT是面向对象的应用开发框架,采用C++的编程风格,所以我们在学习QT 之前要先学习 C, C++ 的基础知识

3. 下载安装器:

如果大家要下载最新版本的 QT ,可以下载安装器:

  1. 从官网下载在线安装器
    a. https://download.qt.io/official_releases/online_installers/
  • 对于​ Windows 平台,我们只需要安装 第二个(64 位)即可。
    在这里插入图片描述
  • 按装好后,双击即可运行。
    在这里插入图片描述
  1. 从​国内镜​像下载在线安装器
    a. http://mirrors.ustc.edu.cn/qtproject/archive/online_installers
    b. https://mirrors.tuna.tsinghua.edu.cn/qt/archive/online_installers

三、窗口组件:

  1. 头文件:< QtGui > 包含窗口组件,对应 Qt 中的 GUI 模块。

  2. Qt 以组件对象的方式构建图形用户界面。图形用户界由不同的窗口和窗口组件构成。

  3. 组件的类型:
    (1). 容器类 (父组件):用于包含其他的界面组件。
    (2). 功能类 (子组件):用于实现特定的交互功能。

  4. QWidget 类继承自 QObject 类 和 QPaintDevice 类。
    (1). QObject 是所有支持 Qt 对象模型的基类。
    (2). QPaintDevice 是 Qt 中所有可绘制组件的基类。

注意
QWidget 是 Qt 中所有窗口组件类的父类,是所有窗口组件的抽象。
Qt 中的每一个窗口组件都是一个 QWidget。
QWidget 类对象 常作为父组件或顶级组件使用。

四、QT 基本组件的简单介绍:

1. QWidget

提供了一个基本的窗口类,可以用来创建 GUI 界面。

2. QPushButton

提供一个按钮类,可以用来响应用户的点击事件。

3. QLabel

提供一个标签类,可以用来显示一个文本和图像等内容。

4. QLineEdit

提供的一个用于接收单个行输入的小部件,能够方便地接收用户输入的数据。

5. QSpinBox

提供一个数字输入框类,可以用来输入数字。

6. QComboBox

提供一个下拉框类,可以用来选择一个选项。

对于 5,6 两点,本实验项目尚未用到,也稍微介绍一下。

总结

下一篇文章 将详细的给大家讲解 QT 基本组件及其具体用法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/416790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能火焰与烟雾检测系统(Python+YOLOv5深度学习模型+清新界面)

摘要&#xff1a;智能火焰与烟雾检测系统用于智能日常火灾检测报警&#xff0c;利用摄像头画面实时识别火焰与烟雾&#xff0c;另外支持图片、视频火焰检测并进行结果可视化。本文详细介绍基于智能火焰与烟雾检测系统&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的…

FPGA基于XDMA实现PCIE X4视频采集HDMI输出 提供工程源码和QT上位机程序和技术支持

目录1、前言2、我已有的PCIE方案3、PCIE理论4、总体设计思路和方案5、vivado工程详解6、驱动安装7、QT上位机软件8、上板调试验证9、福利&#xff1a;工程代码的获取1、前言 PCIE&#xff08;PCI Express&#xff09;采用了目前业内流行的点对点串行连接&#xff0c;比起 PCI …

PE文件解析

PE结构图 工具101editor 文件实列 0-30h为DOS header 40-F0h为DOS STUB 100-1F0h为PE_HEADER 200-2B0h为SECTION_HEADER **虚拟地址&#xff1a;**文件加载到内存中&#xff0c;每个进程都有自己的4GB&#xff0c;这个4GB当中的某个位置叫做虚拟地址 基地址&#xff1a;文件…

23种设计模式之工厂方法模式(黑马程序员)

工厂方法模式一、概述二、结构三、实现四、总结在最后一、概述 定义一个用户创建对象的工厂(接口)&#xff0c;让接口的子类决定去实例化哪个对象&#xff0c;依赖其抽象编程。即工厂方法使一个类的实例化延迟到其工厂的子类。 二、结构 工厂方法模式的主要角色 抽象工厂&a…

计算机组成原理实验二 存储系统预习报告

实验一----静态RAM 一、实验目的 掌握静态随机存储器 RAM 工作特性及数据的读写方法。基于信号时序图&#xff0c;了解读写静态随机存储器的原理。 二、实验预习 1、阅读实验指导书&#xff0c;然后回答问题。 实验所用的静态存储器由一片 6116&#xff08;2K*8bit &#x…

ROS开发之如何在同一个节点订阅、处理、发布消息?

文章目录0、引言1、创建中间特殊文件&#xff08;含订阅者和发布者&#xff09;2、在CMakeLists.txt添加编译规则3、在launch添加启动项4、编译运行5、三维显示0、引言 在ROS应用一般会用到发布者和订阅者&#xff0c;若只接收传感器数据&#xff0c;则只实现订阅者就行&#x…

客户服务 KPI是什么

当企业着手改进其客户服务计划时&#xff0c;必须以可衡量的方式进行。因为如果我们为了改进而改进&#xff0c;没有衡量&#xff0c;我们就永远无法真正知道我们做得有多好&#xff01;如果您的公司已准备好升级其客户服务计划&#xff0c;这里有 12种方法可以衡量和跟踪您的客…

大学生问AI

大学生问AI写在最前面2&#xff0c;描述你在学习工作中碰到的最高级的 AI 是什么&#xff1f;1&#xff0c;你人生中第一次接触到 “人工智能” 的概念和产品是什么&#xff1f; 让你觉得 “人类做得东西的确有智能”&#xff1f;3&#xff0c;你听说过最近的 GPT&#xff0c;n…

Qt5.12實戰之Linux靜態庫與動態庫多文件生成a與so文件並調用

1.編輯並輸入內容到test.cpp與test2.cpp test.cpp #include <stdio.h> int func() {return 888; } test2.cpp #include <stdio.h> int func2() {return 999; } 將test.cpp與test2.cpp編譯成目標文件&#xff1a; g -c test.cpp test2.cpp 一次性生成目標文件…

阅读提升内在美

最近&#xff0c;想在内在美上提升自己&#xff0c;想把玩游戏的时间腾给阅读。不想只是善良&#xff0c;更希望自己拥有智慧拥有力量&#xff0c;更自信更热爱生活。 本篇博文会日日更新&#xff0c;也当作鼓励我继续阅读坚持阅读的动力和监督。 Z-Library 图书馆 分享一个…

LeetCode 1041. 困于环中的机器人

原题链接&#xff1a;1041. 困于环中的机器人 在无限的平面上&#xff0c;机器人最初位于 (0, 0) 处&#xff0c;面朝北方。注意: 北方向 是y轴的正方向。南方向 是y轴的负方向。东方向 是x轴的正方向。西方向 是x轴的负方向。 机器人可以接受下列三条指令之一&#xff1a; …

测试专家须精通Locust

目前随着AI人工智能越来越火&#xff0c;Python 编写的程序越来越多&#xff0c;更多的协议&#xff0c;更多的复杂应用。 所以Locust 是高级性能测试工程师和测试专家&#xff0c;必备技术之一&#xff0c;因为你不可能避免公司中使用python.编写接口或者程序。 在互联网公司…

C#|调用C/C++动态库

参考&#xff1a;C#总结&#xff08;四&#xff09;调用C动态库&#xff08;https://www.shuzhiduo.com/A/A2dmV49qze/&#xff09; 文章目录C#加载C动态库C#加载C#动态库涉及到的概念知识&#xff1a;托管DLL和非托管DLL的区别&#xff08;https://www.tinymind.net.cn/articl…

利用 ELK 处理 Percona 审计日志

Percona Server为 MySQL 数据库服务器进行了改进&#xff0c;在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具&#xff1b;另外有更多的参数和命令来控制服务器行为 前提 1、有强烈的审计需求。…

网站建设常用的cms建站系统推荐

国内网站建设市场参差不齐&#xff0c;建站公司多如牛毛&#xff0c;网站价格便宜的几百&#xff0c;贵的几十万&#xff0c;作为外行&#xff0c;很难去选择&#xff0c;国内大部分网站建设公司都是营销公司&#xff0c;完全没有底层技术框架的开发能力&#xff0c;90%以上的网…

srs流媒体服务安装和使用

简介 SRS(Simple Realtime Server)是一个简单高效的实时视频服务器&#xff0c;支持RTMP、WebRTC、HLS、HTTP-FLV、SRT等多种实时流媒体协议。 官网&#xff1a;https://ossrs.net/lts/zh-cn/ 编译安装 使用ubuntu系统作为例子&#xff0c;最好是20版本。 1、克隆项目代码 …

2023.4.12

文章目录一&#xff1a;try catch处理异常1&#xff1a;原理&#xff1a;2&#xff1a;catch中如何处理异常**3&#xff1a;try-catch-finally**4&#xff1a;多重catch5&#xff1a;异常的分类6&#xff1a;throw和throws的区别7&#xff1a;练习题8&#xff1a;重载和重写的异…

Python后端架构演进

做了3年的后端开发, 经历一款SaaS产品从0到10(还没有到100, 哈哈哈)的过程, 3年间后端的架构逐步演变, 在微服务的实践过程中遇到的问题也越来越多, 在这里总结下. 产品是一款服务于人力资源的SaaS在线服务, 面向HR有Web Android/iOS 小程序多个客户端, 后端采用RESTful风格AP…

表id自增的方法

数据库主键id自增的方法&#xff0c;列举了几种如下 一、数据库自增&#xff08;部分数据库支持&#xff09; 创建表的时候设置id自增即可&#xff0c;或者后期修改表id自增 # mysql 语法 create table your_table_name(id bigint(20) not null auto_increment primary key …

Android技术分享 | 一行代码实现屏幕、声音采集

之前发布过一行代码实现安卓屏幕采集编码&#xff0c;并介绍了如何屏幕采集编码并进行了封装&#xff0c;简单的调用即可实现MediaProjection权限申请、H264硬编码、错误处理等功能。本文将介绍新增的功能&#xff0c;还是只需一行代码即可实现屏幕、声音采集。 一行代码实现屏…