Qt入门教程:创建我的第一个小程序

news2025/2/23 18:08:11

本章教程,主要介绍如何编写一个简单的QT小程序。主要是介绍创建项目的过程。

一、打开QT软件编辑器

这里使用的是QT5.14.2版本的,安装教程参考以往教程:https://blog.csdn.net/qq_19309473/article/details/142907096

在这里插入图片描述
在这里插入图片描述

二、创建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

到这里,一个简单的QT项目就已经创建完成了。

三、编写代码

这里写了一个简单的登录界面。找到main.cpp源文件。

#include <QApplication>
#include <QWidget>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QVBoxLayout>
#include <QHBoxLayout>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;
    window.setWindowTitle("登录");

    // 创建标签
    QLabel *userLabel = new QLabel("账号:");
    QLabel *passLabel = new QLabel("密码:");

    // 创建文本框
    QLineEdit *userLineEdit = new QLineEdit;
    QLineEdit *passLineEdit = new QLineEdit;
    passLineEdit->setEchoMode(QLineEdit::Password);

    // 创建按钮
    QPushButton *loginButton = new QPushButton("登录");

    // 布局
    QVBoxLayout *mainLayout = new QVBoxLayout;
    QHBoxLayout *userLayout = new QHBoxLayout;
    QHBoxLayout *passLayout = new QHBoxLayout;

    userLayout->addWidget(userLabel);
    userLayout->addWidget(userLineEdit);

    passLayout->addWidget(passLabel);
    passLayout->addWidget(passLineEdit);

    mainLayout->addLayout(userLayout);
    mainLayout->addLayout(passLayout);
    mainLayout->addWidget(loginButton);

    window.setLayout(mainLayout);
    window.show();

    return app.exec();
}

四、运行项目

编写好代码之后,点击左下角的绿色三角形,即可运行项目。

在这里插入图片描述

这样就完成了,一个简单QT入门案例。

在这里插入图片描述

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

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

相关文章

《OpenCV计算机视觉》—— 风格迁移

将下图中的图片换一种风格展示出来 如下图结果&#xff1a; 完整代码如下&#xff1a; import cv2image_yuantu cv2.imread("wechat.jpg") image cv2.resize(image_yuantu, dsizeNone, fx0.5, fy0.5) cv2.imshow(yuan tu, image) cv2.waitKey(0)""&q…

如何实现简单的 WinCC 项目分屏?

说明&#xff1a; 本文主要介绍了在不使用分屏器的情况下&#xff0c;通过 WinCC 项目中的设置&#xff0c;实现简单的分屏操作。两台显示器分别显示不同的 WinCC 画面&#xff0c;独自操作&#xff0c;互不影响。 试验环境 &#xff1a; 本文试验时所用硬件及软件环境…

python基础——网络编程

前言 互联网时代&#xff0c;现在基本上所有的程序都是网络程序&#xff0c;很少有单机版的程序了。网络编程就是如何在程序中实现两台计算机的通信。 Python语言中&#xff0c;提供了大量的内置模块和第三方模块用于支持各种网络访问&#xff0c;而且Python语言在网络通信方面…

如何避免日志中打印SQL语句:完整解决方案

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务&#xff09; &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1…

空间智能技术赋能CIM平台,为数字住建插上翅膀

在数字化浪潮的推动下&#xff0c;城市信息模型&#xff08;CIM&#xff09;平台正成为城市规划、建设和管理的重要工具。CIM平台通过集成地理信息系统&#xff08;GIS&#xff09;、建筑信息模型&#xff08;BIM&#xff09;和物联网&#xff08;IoT&#xff09;等技术&#x…

博客搭建之路:Netlify将url重定向到小写问题

文章目录 Netlify将url重定向到小写问题 Netlify将url重定向到小写问题 hexo版本5.0.2 npm版本6.14.7 next版本7.8.0 前两天将博客从vercel改为托管到Netlify上&#xff0c;本来运行的挺流畅的。但是今天我看一篇博客的评论时突然发现&#xff0c;虽然有评论 但是文章开头的评论…

完整发布/上传uniapp Ios应用到App Store流程

使用uniapp打包&#xff0c;假如使用app store证书打包出来的ipa文件&#xff0c;需要上传到app store上才能上架。假如你还没有app store证书&#xff0c;还没有打包&#xff0c;你可以参考下面这篇文章&#xff0c;先创建打包证书再继续看这篇上架的教程&#xff1a;https://…

unity ps 卡通角色自制

一、PS的使用 1.画头 按U键打开画椭圆工具&#xff0c;红色框内选择形状填充色和描边&#xff0c;默认是画椭圆&#xff0c;按住Shift即可画圆 2.画眼睛 按照步骤一的操作画两个填充椭圆就行&#xff0c;然后CtrlG打组&#xff0c;再CtrlJ复制即可 3.画鼻子、嘴、身体、脚 同…

多态对象的存储方案小结

某个类型有几种不同的子类&#xff0c;Jackson中的JsonTypeInfo 和JsonSubTypes可以应对这种情形&#xff0c;但有点麻烦&#xff0c;并且name属性必须是字符串、必须用Jackson为基础的json工具类对json字符串和对象进行序列化和反序列化。用过一次这种方案后边就不想再用了。 …

重学SpringBoot3-Spring Data JPA简介

更多SpringBoot3内容请关注我的专栏&#xff1a;《SpringBoot3》 期待您的点赞&#x1f44d;收藏⭐评论✍ 重学SpringBoot3-Spring Data JPA简介 1. 什么是 Spring Data JPA&#xff1f;2. Spring Data JPA 的核心概念2.1. 实体&#xff08;Entity&#xff09;2.2. Repository&…

若依前后端框架学习——新建模块(图文详解)

若依框架—新建模块 一、项目地址1、后端启动2、前端启动 二、生成代码1、添加菜单2、创建表结构3、生成代码2、编辑一些基本信息&#xff0c;然后点击提交3、生成代码&#xff0c;压缩包里有前端和后端代码 三、配置后端模块1、新建模块2. 修改pom.xlm2.1 修改第一个pom.xml 2…

关于jmeter设置为中文问题之后无法保存设置的若干问题

1、jemeter如何设置中文模式 Options--->Choose Language--->Chinese(Simplifies), 如此设置后就可显示中文模式(缺点&#xff1a;下次打开还是英文)&#xff1b;如下图所示&#xff1a; 操作完成之后&#xff1a; 但是下次重启之后依旧是英文&#xff1b; 2、在jmeter.…

探索 Jupyter 笔记本转换的无限可能:nbconvert 库的神秘面纱

文章目录 探索 Jupyter 笔记本转换的无限可能&#xff1a;nbconvert 库的神秘面纱背景&#xff1a;为何选择 nbconvert&#xff1f;库简介&#xff1a;nbconvert 是什么&#xff1f;安装指南&#xff1a;如何安装 nbconvert&#xff1f;函数用法&#xff1a;简单函数示例应用场…

18-基于双TMS320C6678 DSP的3U VPX的信号处理平台

一、板卡概述 该板卡是由我公司自主研发的基于3U VPX架构的信号处理板&#xff0c;该处理板包含2片TI的TMS320C6678 DSP芯片&#xff0c;1片Xilinx公司的Spartan-3系列XC3S200AN配置芯片&#xff0c;两片DSP分别有1路RapidIO x4连接至VPX背板&#xff0c;两片DSP之间通过Hyperl…

scratch机器人捡垃圾 2024年9月scratch二级真题 中国电子学会 图形化编程 scratch二级真题和答案解析

目录 scratch机器人捡垃圾 一、题目要求 1、准备工作 2、功能实现 二、案例分析 1、角色分析 2、背景分析 3、前期准备 三、解题思路 1、思路分析 2、详细过程 四、程序编写 五、考点分析 六、推荐资料 1、入门基础 2、蓝桥杯比赛 3、考级资料 4、视频课程 …

N-MOS 和 P-MOS,增强型和耗尽型

本文主要叙述N沟道MOS管&#xff08;N-MOS&#xff09;和P沟道MOS管&#xff08;P-MOS&#xff09;的区别&#xff0c;以及的增强型和耗尽型的区别。 一、N-MOS和P-MOS的区别 N沟道MOS管在栅极上施加正向偏压&#xff08;Vgs>0&#xff09;&#xff0c;且只有栅源电压&…

Redis学习笔记:简单动态字符串

简单动态字符串 C语言传统的字符串是使用字符数组表示的&#xff0c;Redis没有直接使用C语言传统的字符串表示&#xff0c;而是构建了一种名为简单动态字符串&#xff08;simple dynamic string&#xff0c;SDS&#xff09;的抽象类型&#xff0c;并将SDS作为Redis的默认字符串…

助力语音技术发展,景联文科技提供语音数据采集服务

语音数据采集是语音识别技术、语音合成技术以及其他语音相关应用的重要基础。采集高质量的语音数据有助于提高语音识别的准确性&#xff0c;同时也能够促进语音技术的发展。 景联文科技作为专业的数据采集标注公司&#xff0c;支持语音数据采集。可通过手机、专业麦克风阵列、专…

极米智驾仪表盘(开源!!)

1.演示&#xff1a; 驾驶界面图 有图无真相&#xff0c;下面视频展示&#xff1a; 汽车仪表盘展示 整个汽车中控仪表盘界面展示&#xff1a; 极米智驾仪表盘中控 极米智驾仪表盘在arm开发板上运行的效果: &#xff08;因为CSDN只能上传到2M多的视频大小&#xff0c;所以视频只…

C++笔记之类三种的继承方式

C++笔记之类三种的继承方式 code review! 文章目录 C++笔记之类三种的继承方式1.《C++ Primer Plus》(第6版)中文版Page 5502.C++类继承方式与能否隐式向上转换的关系1.《C++ Primer Plus》(第6版)中文版Page 550 除基类私有成员变量外(基类公有成员变量和保护成员变量):…