Qt第一课 第一个ui界面

简介: Qt第一课 第一个ui界面

首先新建一个项目

![qt左上角的文件,点击新建

其他都保持默认

main.cpp

#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);//创建一个Qt应用程序对象的实例
    MainWindow w;//创建一个应用窗对象
    w.show();//进行展示
    return a.exec();//会启动应用程序的事件循环
}

运行结果这样,就代表环境就搭好了

然后进行ui设计

双击蓝色部分进入ui设计,ui(是User Interface的缩写,意思是用户界面

拖这个进行设计,Label意为标签,下图一看便知

右下角的属性栏可以进行字体大小的修改

这个是文本输入框

效果就成了这样


这些标签和输入框我们统一称之为控件,然后我们可以复制和粘贴进行批量控制部件。

然后咱们运行一下

这里就会出现一点问题,当然有的人可能不会出现这样的问题,这是为什么呢?明明我设计的好好的,运行出来就不一样了呢?

答案是你的分辨率太高了。

#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    //这行代码是用来设置Qt应用程序启用高DPI缩放的属性。
    //在高分辨率屏幕上运行Qt应用程序时
    //启用高DPI缩放可以确保应用程序的界面元素和文本显示清晰和准确,适应屏幕的高分辨率
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

加上QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);代码后,运行结果就跟你设计的一样了。

然后我们再来添加一个按钮

这个注册按钮就添加好了

让按钮真正的有用

至此,我们的界面就差不多搞好了。这个按钮是确实可以点的,但是我们点了,什么用也没有,接下来我们就该想想怎么让它动起来呢?

可以右键注册按钮,点击转到。至于这个槽,咱们后面再讲,埋个坑


选择clicked(),意思为点击嘛,相当于点击这个按钮以后会干什么

会自动给你生成一个函数,在mainwindow.cpp里面。在这个函数里面就可以写你点击后要执行什么


咋们这里就来个点击之后,出现一个提示框,写着欢迎您的汉字

这里要加一个提示框的头文件

#include <QMessageBox>
...
void MainWindow::on_pushButton_clicked()
{
    QString res="欢迎"+ui->lineEditName->text()+ui->lineEditJod->text()+"来到地球";
    QMessageBox::information(this,"welcome",res,QMessageBox::Ok);
}

先看效果:

想必你也运行出来了吧,现在咱们来讲讲为什么吧!

首先qt里面的字符串类型是QString 用法跟C++里面的string用法一样。

ui对象在Qt中起到了连接用户界面和代码逻辑的桥梁作用,是一个主窗口mainWindow的指针,可以指向各个控件进行操控。


到了这里我们就会想,那我怎么用ui去选择我想要控制的控件呢?

答案是每个部件都有一个属于自己的名字,在设计界面的右下角有一个属性栏,可以进行修改,也可以对着控件右键修改。

273338547ed44162ab353476cea9d2ab.png


然后咱们就可以对自己想控制的控件为所欲为,我这里就用ui->lineEditName->text()去得到输入的文本内容。


然后再讲讲这个提示框:QMessageBox::information(this,“welcome”,res,QMessageBox::Ok);

首先需要包含头文件。

this表示是它的父类窗口就是mainWindow

welcome是信息框的名字

res就是刚刚我们自己定义的字符串,这里就是信息框输出的内容

最后一个参数是信息框的类型,就是确定类型


华丽的分割线!

cout<<---------------------------------------------------------------------<<endl


好了,就到这里吧,我也是一个新手,很多地方可能做的不好,还希望各位大佬,多多照应。

不急慢慢来,有问题可以直接发我,加油!

相关文章
|
2月前
|
计算机视觉 Python
基于Dlib的人脸识别客户端(UI界面)
基于Dlib的人脸识别客户端(UI界面)
73 2
|
2天前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
4月前
|
监控 C++ 容器
【qt】MDI多文档界面开发
【qt】MDI多文档界面开发
118 0
|
1月前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
116 8
|
2月前
|
编译器
【项目开发】QT简单练习之QQ登录界面模仿
为了进一步加深对QT开发的理解,在学习完基础操作之后要进行一个简单的练习。
|
2月前
|
机器学习/深度学习 数据可视化 计算机视觉
基于opencv的车牌识别系统(UI界面采用tkinter设计)
基于opencv的车牌识别系统(UI界面采用tkinter设计)
56 0
|
4月前
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
3月前
|
XML Android开发 UED
💥Android UI设计新风尚!掌握Material Design精髓,让你的界面颜值爆表!🎨
随着移动应用市场的蓬勃发展,用户对界面设计的要求日益提高。为此,掌握由Google推出的Material Design设计语言成为提升应用颜值和用户体验的关键。本文将带你深入了解Material Design的核心原则,如真实感、统一性和创新性,并通过丰富的组件库及示例代码,助你轻松打造美观且一致的应用界面。无论是色彩搭配还是动画效果,Material Design都能为你的Android应用增添无限魅力。
85 1
|
4月前
qt 手搓ui
qt 手搓ui
50 3
|
4月前
|
容器 iOS开发 Linux
震惊!Uno Platform 响应式 UI 构建秘籍大公开!从布局容器到自适应设计,带你轻松打造跨平台完美界面
【8月更文挑战第31天】Uno Platform 是一款强大的跨平台应用开发框架,支持 Web、桌面(Windows、macOS、Linux)及移动(iOS、Android)等平台,仅需单一代码库。本文分享了四个构建响应式用户界面的最佳实践:利用布局容器(如 Grid)适配不同屏幕尺寸;采用自适应布局调整 UI;使用媒体查询定制样式;遵循响应式设计原则确保 UI 元素自适应调整。通过这些方法,开发者可以为用户提供一致且优秀的多设备体验。
197 0

热门文章

最新文章