首页 > 其他分享 >【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)

时间:2023-06-20 11:07:48浏览次数:39  
标签:Qt5 clicked apple pushButton 多图 ui void MainWindow


前言

我发现自己之前可能是有点走偏了,花了两天时间看书几乎一无所获,书上都是代码实现,还没有相应的注释…
今天我用ui设计师界面来进行编程,写一个小界面。

界面功能

1.计算加法;
2.可以弹窗;
3.使用布局,美化界面;
4.退出按钮;

界面预览

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_变量名

实现

1.建立一个Qt Widgets Application

可以参考QT5项目创建教程但要记得基类改为:mainwindow

2.添加新类

右键点击项目文件夹,添加一个ui界面

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_弹出窗口_02

后续选择:

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_变量名_03

完成后,右键单机项目文件,选择执行qmake;

3.ui设计

点开文件列表中的mainwindow.ui文件,进行如下设计:

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_控件_04

具体步骤:

1.从左侧拖入三个label控件,双击控件将其分别命名为:first/second/result

2.单机其中一个label控件,在左下角找到objectName,在这里可以修改变量名(拿小本本记下来

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_弹出窗口_05

3.拖入三个LineEdit输入框,分别修改变量名为:lineEdit_first/lineEdit_second/lineEdit_result;

4.拖入三个按钮,分别双击控件改名为:show/quit/open apple,再分别改变量名为:pushButton_show/pushButton_quit/pushButton_apple;

5.下面就要进行布局了,布局主要有两个:垂直布局和水平布局,所在位置如下图:

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_弹出窗口_06

第一个是水平布局,第二个是竖直布局,选中几个控件后再点击相应布局按钮就可以进行操作了,好了,布局你们自己来吧,如果不小心点错了,别怕!可以撤销的,作为保姆级教程,撤销操作也得说:对着自己误点的区域单机鼠标右键找到布局,点击后选择打破布局即可!

3.槽函数

听起来挺难吧蛤蛤蛤,我第一次看这个也是懵的,别怕!我给你讲清楚操作!

(1).转到槽

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_变量名_07

(2).选择信号

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_控件_08

选择clicked();

请对quit按键和open apple按键重复以上操作

(3).编辑函数

接下来请打开mainwindow.cpp文件,如果你确实按照之前上面所说的那样做了,那么你的mainwindow.cpp终究会出现三个空的函数:

void MainWindow::on_pushButton_quit_clicked()
{
}
void MainWindow::on_pushButton_show_clicked()
{
}
void MainWindow::on_pushButton_apple_clicked()
{
}

open apple 那个函数我们先不管。

输入以下代码,代码其实挺好理解吧,但是我依旧在下面做了超详细的解释:

【Qt5学习笔记】使用ui界面编一个入门级的小项目(保姆级教程,多图警告)_弹出窗口_09

void MainWindow::on_pushButton_quit_clicked()
{
    close();//退出界面
}

void MainWindow::on_pushButton_show_clicked()
{
    int first, second, sum;
    first=ui->lineEdit_first->text().toInt();//text()是输入文本,但是是字符串类型的,所以要加一个toInt()来进行类型转换
    second=ui->lineEdit_second->text().toInt();//同理
    sum=first+second;
    ui->lineEdit_result->setText(QString::number(sum));//在result中进行输出,并将输出转化为字符串
}

现在其实已经可以运行了,只差个弹出窗口功能;

4.弹出窗口

之前我们不是新建了一个apple.ui么?
现在在mainwindow.h中加上一个#include <apple.h>头文件,再给下面的private:中加一个apple类型的指针;

private:
    Ui::MainWindow *ui;
    apple *a;

随后设计apple的ui,随便拖个label写个hellow都行。
然后在mainwindow.cpp的open apple按钮的那个函数中写:

void MainWindow::on_pushButton_apple_clicked()
{
    a=new apple;
    a->show();//显示
}

就ok啦!!!!点击open apple就会有弹出窗口咯~
成果就是博客开头那个,感谢您的观看,我们下期再见~~~


标签:Qt5,clicked,apple,pushButton,多图,ui,void,MainWindow
From: https://blog.51cto.com/u_16165815/6521234

相关文章

  • 利用pyautogui处理IE下载文件另存为
    defdownload_file(file_name):'''IE下载,提示要打开或保存。。。,这里是另存为'''pyperclip.copy(file_name)time.sleep(1)#从ie界面切换到下载提示pyautogui.press('f6')time.sleep(0.5)pyautogui.press('tab')......
  • UI自动化 判断文件是否下载成功-Part 1
    一、测试目录&测试文件 二、代码实现1、#-*-coding:UTF-8-*-importosfromtimeimportsleepDOWNLOAD_PATH='D:\\download_file'#检查下载文件defcheck_download_file(f):try:ifos.path.exists(DOWNLOAD_PATH):sleep(1.2)......
  • ROS报错:warning:clock skew detected. Your build may be incomplete
    问题原因:主要原因是系统时钟错误了,即系统发现了晚于当前时间编译的文件,自然就无法编译。解决方法:可以通过修改系统时间等方法解决,但是目前认为的最优解是把项目中的每个文件都touch一遍即可:find.-typef-exectouch{}\;......
  • Qt5.9.1的下载和安装注意事项
    下载地址qt5.9downlaod安装过程编译器是可选的若本地环境没有VisualStdio,就不要勾选关于它的编译器。一般至少要勾选MingGW编译器......
  • pytorch 使用多GPU训练模型测试出现:TypeError: forward() missing 1 required positio
    转载:https://blog.csdn.net/lingyunxianhe/article/details/119454778?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168718901716800227455818%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=16871890171680022745......
  • 【雕爷学编程】Arduino动手做(117)---P10V706LED屏模组
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 回答朋友提问:Fiori UI 中如何知道当前系统 Client ID (一)
    今天我的SAP开发技术交流群里,有朋友问这样的问题:在Fiori界面中,怎么查看当前Client?我觉得要回答这个问题,需要提问的朋友提供更多的背景信息,比如:Fiori界面,是运行在ABAPOn-Premises上,还是Cloud环境(Cloud环境下想知道ClientID貌似没有意义,因为这个字段值只对SA......
  • SAP Spartacus UI 中的 CmsTicketInterceptor
    在SpartacusUI发起的OCCAPI请求的URL中,您可能会注意到一个名为cmsTicketId的字段。这个字段的含义与用途如下:cmsTicketId是一个标识符,用于关联SpartacusUI与SAPCommerceCloud后端CMS(ContentManagementSystem)的会话。CMS是一个用于管理网站内容的系统,如......
  • macOS Big Sur ,git gui 不起作用
    如何解决将软件更新到macOSBigSur到11.4后,gitgui不起作用?开发过程中遇到将软件更新到macOSBigSur到11.4后,gitgui不起作用的问题如何解决?下面主要结合日常开发的经验,给出你关于将软件更新到macOSBigSur到11.4后,gitgui不起作用的解决方法建议,希望对你解决......
  • BUUCTF:[GKCTF2020]Harley Quinn
    https://buuoj.cn/challenges#[GKCTF2020]Harley%20QuinnHeathens末尾存在DTMF码(电话拨号码)将这一段截取出来,使用工具dtmf2num识别#22283334447777338866#对照即可得到#ctfisfun#题目压缩包上有提示:FreeFileCamouflageFreeFileCamouflage是一款将重要文档以AES加密算法存放......