角角の Qt学习笔记(一)

这篇具有很好参考价值的文章主要介绍了角角の Qt学习笔记(一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、解决在创建新项目时遇到的几个问题

二、信号和槽(非自定义)

三、调用 UI 中的元素(比如按钮)

 

一、解决在创建新项目时遇到的几个问题

         在新建项目时,我选择的构建系统为CMake。然后勾选了Generate form,勾选之后系统就会在新项目中会直接新建一个ui文件。最后一步点击完成,但出师不利,出现如下2个问题:

问题1:左边文件全部显示灰色,且顶栏弹出:Warning: This file is not part of any project. The code model might have issues parsing this file properly.

问题2: 

error: cmake_minimum_required could not parse VERSION "4".

error: VERSION not allowed unless CMP0048 is set to NEW

error: CMake process exited with exit code 1.

error: CMake returned error code: 1

error: Allocation of incomplete type 'Ui::MainWindow'

error: Member access into incomplete type 'Ui::MainWindow'

解决办法如下:

        重新编译后关闭当前项目文件,重新打开项目即可消除该错误提示 。如果不行,就重新新建项目,但是这次记住不要勾选Generate form,如果需要ui文件,到时候在项目中再单独新建即可。

        如果小伙伴们在新建项目时还遇到了其它问题,欢迎在评论区给我留言~

角角の Qt学习笔记(一),Qt 从入门到精通,学习,笔记

 角角の Qt学习笔记(一),Qt 从入门到精通,学习,笔记

二、信号和槽(非自定义)

connect

(

参数1:信号的发送者,

参数2:发送的信号 - 函数的地址,

参数3:信号的接收者,

参数4:处理的槽函数

示例代码:

connect(myBtn, &MyPushButton::clicked, this, &myWidget::close);
三、调用 UI 中的元素(比如按钮)

        在项目中,我新建了一个ui文件,然后在窗口中拖入一个按钮控件。如下图:

角角の Qt学习笔记(一),Qt 从入门到精通,学习,笔记

        举个🌰:现在我想让用户点击这个按钮,然后这个窗口就会关闭,功能等同于窗口右上角那个叉叉。

        实现方法如下(看带注释的那2行代码即可):

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setWindowTitle("演示窗口");
    
//    把按钮显示的文本改成“点我”
    ui->pushButton->setText("点我");
    
//    通过connect函数(信号和槽)将按钮和close关联
    connect(ui->pushButton, &QPushButton::clicked, this, &MainWindow::close);

}

MainWindow::~MainWindow()
{
    delete ui;
}

        有些小伙伴可能会有疑问,为什么这代码和我在网上看到的教学视频里有点不一样?

        首先呢,可能是因为版本不同,然后呢,也可能是使用的基类不同。请看下面的代码片段:

1. 如果你使用的是 QMainWindow 或 QDialog 类作为窗口的基类:

// 设置按钮的文本
ui->pushButton->setText("Click me");  

// 连接按钮的点击信号和槽函数
connect(ui->pushButton, &QPushButton::clicked, this, &MyClass::buttonClicked);

2. 如果你使用的是 QWidget 类作为窗口的基类:

// 获取按钮指针
QPushButton *button = ui->pushButton; 

// 设置按钮的文本 
button->setText("Click me");  

// 连接按钮的点击信号和槽函数
connect(button, &QPushButton::clicked, this, &MyClass::buttonClicked);

        注意替换 MyClass 为你的窗口类的名称,buttonClicked 为你的槽函数名称。 这样,你就可以在代码中调用 UI 中的元素了。文章来源地址https://www.toymoban.com/news/detail-644531.html

到了这里,关于角角の Qt学习笔记(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux从入门到精通一般要学习多久?

    如果一般操作的话,很简单学会,用不了多长时间,和一般的window操作系统一样具有图形界面,操作起来十分方便,Linux中也有WPS办公系统,、Linux上的应用程序没有windows上那么丰富,但也能满意一般用户的需求,如果搞研制,最好能把Linux源代码看懂,花费时间较多。 学会

    2024年02月01日
    浏览(40)
  • 机器学习~从入门到精通(三)梯度下降法

    使用真实数据来进行梯度下降的过程 knn算法 线性回归 数据的预处理(标准化) 模型好坏的校验 len(theta_history)

    2024年01月18日
    浏览(40)
  • Elasticsearch从入门到精通-03基本语法学习

    👏作者简介:大家好,我是程序员行走的鱼 📖 本篇主要介绍和大家一块学习一下ES基本语法,主要包括索引管理、文档管理、映射管理等内容 ES对数据进行增、删、改、查是以Restful方式对服务端发送请求的,所以在我们学习基本语法之前先了解一下Restful是什么? REST 指的是一

    2024年03月15日
    浏览(49)
  • Verilog学习和复习,从入门到精通(持续更新)

     我的背景:本科学过verilog,但是忘的基本差不多了。 全部资料,包括已学习与待学习 数字电路与计算机体系结构 Verilog在线学习网站 中科大Verilog OJ 平台 Verilog高级数字系统设计技术与案例分析(书) 从电路角度入门Verilog Verilog语法简介 南京大学 数字电路与计算机组成实

    2024年02月21日
    浏览(34)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—收集信息篇

    目录 前面的话 1、收集域名信息 1.1、Whois查询 ​编辑1.2、备案信息查询  2、收集敏感信息 3、收集子域名信息 3.1、子域名检测工具 3.2、搜索引擎枚举 3.3、第三方聚合应用枚举 3.4、证书透明度公开日志枚举 本章小结 本人喜欢网络完全的一些知识,自学一些。现在写出来和大

    2024年02月08日
    浏览(53)
  • 2023最全软件测试学习路线图(从入门到精通)

    六维全息课程注重综合能力培养,从入学到职后一站式服务测试开发人才。2023年最新软件测试学习路线图,从入门到精通一应俱全。 9阶段专业课+11大专项测试项目 适应互联网企业测试开发需求。  对于想入行学软件测试的新手来说,首先就需要一个高效的学习线路图,还要

    2024年02月15日
    浏览(56)
  • 大数据培训课程-《机器学习从入门到精通》上新啦

         《机器学习从入门到精通》课程 是一门专业课程,面向人工智能技术服务,课程系统地介绍了Python编程库、分类、回归、无监督学习和模型使用技巧以及算法和案例充分融合。       《机器学习从入门到精通》课程亮点: 课程以任务为导向,逐步学习相关的理论知识

    2024年02月14日
    浏览(41)
  • 网络安全|渗透测试入门学习,从零基础入门到精通—渗透中的开发语言

    目录 前面的话 开发语言 1、html 解析 2、JavaScript 用法 3、JAVA   特性 4、PHP 作用 PHP 能做什么? 5、C/C++ 使用 如何学习 关于在渗透中需要学习的语言第一点个人认为就是可以打一下HTML,JS那些基础知识,磨刀不误砍柴工。其次,了解基本的代码后,就可以去学习相关的漏洞知

    2024年02月09日
    浏览(52)
  • 机器学习~从入门到精通(二)线性回归算法和多元线性回归

    SimpleLinearRegression.py moduel_selection.py draft.py lin_fit(x,y) lin_fit2(x,y) x.shape y.shape MSE mean squared error 均方误差 R squared error

    2024年02月01日
    浏览(71)
  • Linux云计算学习路线图(新手必备,从入门到精通)

    据统计,越来越多的企业正在使用云服务,云计算独特的优势,为企业节约了硬件软件成本,因此,企业对云计算人才的需求也不断增加。对于帮助更多想要学习云计算的小伙伴,下面千锋云计算小编给大家分享最新云计算学习路线图,帮助大家在学习的路上少走弯路。 第一

    2024年02月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包