Qt的学习

这篇博客详细介绍了在Qt中使用QChart制作图表的安装和使用步骤,包括解决错误问题。同时,讲解了如何创建侧面导航栏,使用QStackedWidget实现页面切换,并展示了设置遮罩弹窗的方法,包括自定义弹出位置和大小。内容涵盖Qt的多个关键组件和功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、图表QChart

想在窗口显示
在这里插入图片描述
这样一个图表

1.1安装

最烦的事情就是再次卸载qt然后安装,但是没办法(摊手)
卸载:在Qt文件夹目录里,点击MaintenanceTool.exe,然后显示
在这里插入图片描述

点击next
在这里插入图片描述
卸载后重新安装,教程看之前安装教程,路径都按之前的就不用修改环境了,但是在安装的时候,他source下面有个QChart,记得勾选,卸载重装都是为了他!
其他的就照常安装。

1.2使用

剩下的就按图文描述VS2015+Qt5.9.3使用QtChart的详细过程

当时我弄完一直报错,

报错1:

在这里插入图片描述
QWidget: Must construct a QApplication before a QWidget大概显示这样的错误,后来发现自己lib添加错了,后面带d的是release的,我没有看清

Qt5Charts.lib
Qt5Core.lib
Qt5Widgets.lib
Qt5Gui.lib
qtmain.lib

记得是上面这些

报错2:

在这里插入图片描述
首先看清楚你的widget名称,我的widget名称不是weiget而是widget_2,修改;
第二是:ChartTheme
QChart Class
在这里插入图片描述
修改后:
在这里插入图片描述

2、侧面导航栏

在这里插入图片描述

2.1布局

在这里插入图片描述
在这里插入图片描述
把他放上去之后,点击上一层,也就是窗口,然后点击在窗口中布局
在这里插入图片描述
让margin变成0;
在这里插入图片描述

2.2 stackedWidget

添加QStackedWidget
在这里插入图片描述
一个page就是不同的Widget,每个page下面可以自己布局
在这里插入图片描述
然后添加代码如下:

	connect(ui.listWidget, SIGNAL(currentRowChanged(int)), ui.stackedWidget, SLOT(setCurrentIndex(int)));

在这里插入图片描述
运行就可以了;

如果直接用button的可以参考:《Qt5:同一个界面多窗口或者多页面切换(QStackedWidget)》

3、遮罩弹窗

3.1添加弹窗

(1)项目右键-》添加-》Add Qt class,选择
在这里插入图片描述
自己命名,点击Add,一直到
在这里插入图片描述

选择QWidget,结束

(2)代码
我的名为maskWidget:

maskWidget.h


#pragma once

#ifndef MASKWIDGET_H
#define MASKWIDGET_H

/**
 * 弹窗遮罩层控件 作者:feiyangqingyun(QQ:517216493) 2016-12-26
 * 1:可设置需要遮罩的主窗体,自动跟随主窗体位置显示遮罩面积
 * 2:只需要将弹窗窗体的名称一开始传入队列即可,足够简单
 * 3:可设置透明度
 * 4:可设置遮罩层颜色
 * 5:不阻塞消息循坏
 */

#include <QWidget>

//#if 这些,它的意思是如果宏条件符合,编译器就编译这段代码,否则,编译器就忽略这段代码而不编译

#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include <QtDesigner/QDesignerExportWidget>
#else
#include <QtUiPlugin/QDesignerExportWidget>
#endif

class QDESIGNER_WIDGET_EXPORT MaskWidget : public QWidget
#else
class MaskWidget : public QWidget
#endif

{
   
   
    Q_OBJECT
public:
    //没查出来什么意思,static是静态,Instance()是实例化
    static MaskWidget* Instance();
    //关键字 explicit 可以禁止“单参数构造函数”被用于自动类型转换
    explicit MaskWidget
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值