Qt中的常用操作汇总(更新中)

本文汇总了Qt编程中的关键操作,包括信号与槽机制的使用,如窗口关闭响应和不同窗口间的信号传递。讲解了如何创建和管理多个窗口,防止重复创建,以及设定主窗口关闭时关闭所有窗口的策略。同时,还涉及中文乱码的解决方法和QtXlxs库在处理Excel文件上的应用。
摘要由CSDN通过智能技术生成

信号与槽:

基本实现

Qt框架的核心设定就是信号与槽机制嘛,工作思路一般是:
1、信号函数:会在其设定的时间点发出,只需声明,无需函数体;使用emit关键字发出。
2、槽函数:在与其关联的信号函数发出时(类似于广播),该槽函数就会被触发调用。
3、槽函数的传参:槽函数的参数由信号函数负责传递;所以要求信号和槽函数的参数一毛一样,或者至少槽函数的所有参数同信号函数的前几个参数一毛一样,以便传参。(也就是说槽函数的参数个数小于等于信号函数的)
4、connect函数:用于将信号函数与槽函数相关联起来。

connect(sender, signal, receiver, slot);

参数(皆为指针型):
sender:发出信号的对象,例:ui->pushBotton

signal:发送对象发出的信号,例:&QAction::triggered

receiver:接收信号的对象,例:this

slot:接收对象在接收到信号之后所需要调用的函数,例:&MainWindow::aboutOut

窗口关闭时的响应

  窗口关闭时会触发closeEvent事件函数,注意:这是个事件函数,既不是槽也不是信号。而且它在一个单独的类里,需要include一下。

//窗口类的头文件里加上:
#include <QCloseEvent>

//窗口类里加上其重定义的声明:
protected:
	void closeEvent(QCloseEvent* event);

  它会在相应窗口被关闭的时候被调用。例如,我想在TestWindow窗口关闭时调用它,来实现一些功能。

//在相应窗口的cpp文件中:
void TestWindow::closeEvent(QCloseEvent *event) 
{
    
    //TODO: 在退出窗口时,实现希望做的操作 
}

多窗口:


创建多个窗口

第一步、自定义窗口的话就在Forms文件夹下添加一个Qt设计师界面类,然后开始敲新窗口;合并项目的话(一般是抄已有示例时233)就先把其它项目里的相应.h .cpp .prc .ui等文件复制进主项目,然后别忘改一下主项目的.pro文件。
在这里插入图片描述
第二步、在主窗口的头文件里

添加上子窗口的头文件

#
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值