Qt小程序(一)-添加资源文件

QT之资源文件添加 很多时候我们把Qt工程打包好发给他人测试或者使用时会出现图片不显示的问题,这种情况可能就是因为别人的电脑没有这些图片资源,或者源程序设置图标时采用的是绝对路径的写法,与他人电脑上图片的绝对路径不一致导致加载不出来。... 阅读详情

目录

前言

做嵌入式总是要和Qt扯上关系,而且Qt也挺有意思的,毕竟有个界面可以玩!而且断断续续学过一段时间,感觉一点效果没有,写下来就不需要重新学了!有时候提供效率最有效的方法就是总结!

相关Qt代码介绍

资源文件的添加

  1. 右键项目,如图所示为1_test,点击添加新文件,如下图:
    1
  2. 在打开的界面选择Qt,然后选择Qt Resource File,如下图:
    2
  3. choose,添入资源的名称,比如images,然后下一步,最后点击完成如下图:
    3
  4. 资源文件添加后,会出现资源文件夹,在资源文件中会包含images.qrc,如下图:
    4
  5. 点击images.qrc,在右侧界面点击添加,选择添加前缀,5
  6. 前缀可以随意设置,比如我设置为\,然后再次点击添加,选择添加文件,然后在工程目录下的资源文件夹,比如我在工程目录下创建了images这个文件,这里面放置了我需要的图片文件,比如save.png,这时候就添加这个文件就可以了。添加成功后,如下图:
    6

简单的界面实现

界面分为菜单栏、工具栏、中央窗口、停靠栏和状态栏(至少目前学到是这样!)。而我想要做的就是实现一个有简单的菜单栏和工具栏、中央窗口和状态栏的界面。因为是学习,所以就不使用界面文件做窗口先!

  • main.cpp
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
  • mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
class QTextEdit;
class QAction;
class QMenu;
class QToolBar;

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

    void createActions();
    void createMenus();
    void createToolBars();
    void createStatusBar();

public slots:
    void slotNewFile();
    void slotOpenFile();
    void slotSaveFile();
    void slotExitFile();
    void slotCopyFile();
    void slotCutFile();
    void slotPasteFile();
    void slotAboutFile();

private:
    QTextEdit* text;
    QMenu* fileMenu;
    QMenu* editMeau;
    QMenu* aboutMeau;

    QToolBar* fileTool;
    QToolBar* editTool;

    QAction* fileOpenAction;
    QAction* fileNewAction;
    QAction* fileSaveAction;
    QAction* exitAction;
    QAction* copyAction;
    QAction* cutAction;
    QAction* pasteAction;
    QAction* aboutAction;
};

#endif // MAINWINDOW_H
  • mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtWidgets>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent)
{
    setWindowTitle(tr("My Main Window")); 
    text = new QTextEdit(this);
    setCentralWidget(text);
    // sets the given widget to be the main window's central widget
    createActions();    // have to create Actions before Menus
    createMenus();
    createToolBars();
    createStatusBar();
}

void MainWindow::createMenus()
{
    fileMenu = menuBar()->addMenu(tr("File"));
    fileMenu->addAction(fileOpenAction);
}

void MainWindow::createToolBars()
{
    fileTool = addToolBar(tr("File"));
    editTool = addToolBar(tr("Edit"));

    fileTool->addAction(fileOpenAction);
}

void MainWindow::createStatusBar()
{
    QLabel* tipLabel = new QLabel(tr("ready"));
    statusBar()->addWidget(tipLabel);
}

void MainWindow::createActions()
{
    // : represent current projetc directory
    fileOpenAction = new QAction(QIcon(":/images/Save.png"), tr("Open"), this);
    fileOpenAction->setShortcut(tr("Ctrl+O"));
    connect(fileOpenAction, SIGNAL(triggered()), this, SLOT(slotOpenFile()));
}

void MainWindow::slotOpenFile()
{
    QMessageBox msgBox;
    msgBox.setText(tr("File Open"));
    msgBox.exec();
}

void MainWindow::slotNewFile()
{

}

void MainWindow::slotSaveFile()
{

}

void MainWindow::slotExitFile()
{

}

void MainWindow::slotCopyFile()
{

}

void MainWindow::slotCutFile()
{

}

void MainWindow::slotPasteFile()
{

}

void MainWindow::slotAboutFile()
{

}

MainWindow::~MainWindow()
{

}
PyQt5简易入门指南03,使用资源文件和设计师 几个小小的修改在上一章中,我通过一个简单的图片loader给同学们简单地讲解了pyqt5的信号与槽机制。在这一章中,我将对这个小程序进行一些简单的升级,通过这些修改,将告诉同学们如何在pyqt5中使用Qt设计师和Qt的资源文件。 修改后的程序增加了主窗口的图标,并且在程序主界面添加了一个“about”按钮。当点击“about”按钮后会弹出一个对话框。在点击对话框的“ok”按钮后,对话框关闭。1.p 阅读详情

相关推荐

Qt桌面应用开发

Qt桌面应用开发

weixin_41560737的博客 1万+

Qt之添加资源文件

一、在对应的.pro项目同级目录下创建image文件夹,并将所要使用到的图片等放入其中。 二、选中项目右击点击Add New… ->Qt ->Qt Resource File。 一般资源文件都取名为res。下一步、点击完成。 三、点击添加前缀,这里我去掉了前缀只保留了一个/。 四、点击添加文件。 选中image里的所有图片进行添加保存,添加成功后如下图所示。 五、再次添加图片,只需要右键点击Open With->资源编辑器,重新添加图片即可。

qq_43634706的博客 1470

QT框架入门实战:从"hello_qt"到高级应用

本文还有配套的精品资源,点击获取 简介:QT是一个跨平台应用程序开发框架,广泛应用于各种设备。本课程设计项目以"hello_qt"小程序为起点,通过循序渐进的实战任务,帮助学生掌握QT框架的基本结构和操作方式,包括QT Creator、QT Widgets、信号与槽机制、元对象系统等关键知识点。学生将逐步深入学习QT的更多高级特性和功能,如网络通信、数据库访问、多线程编程等...

weixin_36123300的博客 572

Qt入门---资源文件添加

右上角对应当前窗口包含的各种控件 比如工具栏 菜单栏等 右下角对应选中的对象 可以交互修改一些属性 正下方代表创建的QAction类 可以进行拖拽达到多个控件共享。第三步 资源文件不能双击打开 需要右键open in editor打开 在资源文件中先添加前缀 前缀用来区分各种资源 之后添加文件 再编译一下 注意图片不能带汉字。第二步 在项目中选择添加新文件 选择Qt中的资源文件 resource file 之后会创建出一个qrc文件。插入图片 通过ui->可以调用窗口中创建的QAction对象。

qq_62271524的博客 958

CANoe: Panel的上位机控制方法

本文介绍了不同于IG的报文控制方法,实现了Panel面板的控制模式。

Jonsnow3zz的博客 1409

深入Luckfox Pico的Web界面:从Angular前端到CGI后端的RV1106 IPCWeb全栈解析

本文深入解析了基于瑞芯微RV1106芯片的Luckfox Pico设备上,IPCWeb全栈解决方案的架构与部署。详细介绍了如何通过SDK编译配置,将现代Angular前端框架与高效的C++ CGI后端结合,并利用nginx和FastCGI在嵌入式环境中构建稳定、高性能的Web管理界面,为物联网设备开发提供了完整的实战参考。

3a9bq4r8t2y的博客 277

QT添加资源文件

这篇文章介绍为QT项目添加资源文件,例如项目中使用到的图片、音视频文件等等。

Bruce小鬼 1549

F5 Shape逆向工程实战:从美西南航空到xbk的风控突破

本文以美西南航空和xbk为例,深入剖析了F5 Shape风控系统的逆向工程实战。文章拆解了其核心防线,包括通信加密、JSVMP逆向分析和无孔不入的环境指纹检测,并分享了定位Header生成入口、模拟算法输出及构建真实浏览器环境的系统性方法与思路,为合规的技术研究与测试提供参考。

weixin_29327525的博客 1389

Qt 路径

如果你的程序需要加载特定的资源(图标、文本翻译等), 那么,将其放置在资源文件中,就再也不需要担心这些文件的丢失。😕 : 表示对资源的引用,引用资源文件路径 如“:/image/start.png” 表示资源文件里面定义的文件start.png。现在我们来解释下QFile file(“text.txt”)加载不成功 ,如果text.txt是在可执行文件同级目录下,是可以打开的。./ : 表示当前路径 如“./log/log1.txt” 表示当前路径下的log目录下的log1.txt。

宁静致远的博客 2244

SPD5 集线器协议内容解析

​ 若不同SPD5 Hub后面的本地侧设备同时发送请求,则是22和23、24的混合过程,先通过LID裁决,再通过HID裁决,这里的LID是本地设备的,若LID一致,则看HID,由于SPD5 Hub的本地侧设备HID均为111,因此实际上是比较SPD5 Hub的HID,这个过程在前文提到,SPD5 Hub会转换HID。​ 若MR27[4]=1且MR27[3:0]=1,如果MR51[3:0]=1时,发送IBI,并且MR48[7]置1,将GETSTATUS CCC的待处理中断位[3:0]更新为0001。

weixin_50591344的博客 3860

001、NPU是什么?为什么嵌入式设备需要它?

本文通过作者调试工业相机板卡的经历,引出嵌入式设备为何需要NPU(神经网络处理器)的探讨。文章对比了CPU和NPU的设计哲学差异,指出NPU通过专用乘加器阵列和优化的数据流,能高效处理神经网络运算。作者分析了嵌入式设备使用NPU的三大优势:算力提升、功耗降低和实时性保障,并介绍了三类常见NPU形态。通过一个YOLOv5模型调试案例,揭示了NPU使用中的常见陷阱,最后给出五条实用建议,强调理解NPU原理和局限的重要性。文章生动展现了NPU在嵌入式AI应用中的关键作用。

m0_50546716的博客 127

Qt小程序(二)-Qt Designer使用简单介绍

目录目录 前言 mainwindowui Qt代码 总结前言前面的Qt小程序(一)使用手动的方式创建的界面文件,这里使用ui文件创建一个界面文件mainwindow.ui打开mainwindow.ui,默认的窗口界面就有菜单栏,工具栏,中央窗口和状态栏。 在菜单栏可以直接输入菜单项,比如File。(注意:按回车表示成功创建一个菜单) 在File下可以通过回车建立这个菜单包含的操作action,比如

simon曦的博客 2454

让 ABAP 开发更聪明的搭档:SAP Joule for Developers 与 ABAP AI Capabilities 全面实战

摘要:SAP已将生成式AI集成到ABAP开发工具中,推出Joule for Developers功能。该功能直接嵌入Eclipse开发环境,提供代码解释、生成、测试构造和遗留代码迁移等辅助功能。Joule支持ABAP Cloud项目开发,能围绕当前开发对象提供上下文相关的建议,帮助开发者高效完成应用开发与迁移任务。启用该功能需升级ADT并获取相应许可,典型应用场景包括RAP应用构建和S/4HANA迁移中的代码重构。官方资源提供了多个实践案例,帮助开发者快速上手这一AI辅助开发功能。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 494

【Qt5】入门Qt开发教程,一篇文章就够了(详解含qt源码)

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。Qt框架默认提供的标准信号和槽不足以完成我们日常应用开发的需求,比如说点击某个按钮让另一个按钮的文字改变,这时候标准信号和槽就没有提供这样的函数。但是Qt信号和槽机制提供了允许我们自己设计自己的信号和槽。声明在类的signals域下没有返回值,void类型的函数只有函数声明,没有定义可以有参数,可以重载。

m0_65635427的博客 3万+

人工蜂鸟算法(AHA)详解:原理、实现与应用

人工蜂鸟算法(AHA)是一种受蜂鸟飞行技能和觅食策略启发的新型元启发式优化算法。该算法模拟蜂鸟的全向飞行、记忆能力和觅食行为,通过引导觅食、领地觅食和迁徙觅食三种策略在解空间高效搜索。AHA将优化问题解类比为食物源,蜂鸟作为搜索代理,利用访问表记录访问信息。算法核心包括三种飞行技能建模(全向、对角线和轴向飞行)以及对应的数学公式实现。Python实现展示了种群初始化、适应度计算和觅食行为模拟等关键步骤。AHA以其高效的全局搜索能力、良好收敛性和鲁棒性,在复杂优化问题中表现优异。

qq_42212808的博客 907

[Dify实战] 项目复盘助手:自动拉数据、生成复盘报告

本文介绍如何利用Dify平台构建自动化项目复盘助手,解决传统人工复盘效率低、易遗漏等问题。系统通过自动拉取Git/Jira等数据源,计算关键指标后,由LLM生成结构化复盘报告。文章详细讲解了数据采集、指标计算、Prompt设计等核心模块的实现,并分享了完整Workflow搭建步骤。实践表明,该系统能将复盘耗时从4小时缩短至10分钟,显著提升数据准确率和执行频率。最后总结了数据一致性、输出质量等常见问题的解决方案,强调Dify+LLM组合可实现复盘流程的自动化流水线。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 118

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识)

QT入门看这一篇就够了——超详细讲解(40000多字详细讲解,涵盖qt大量知识),不会私信我,给你解答

m0_65635427的博客 44万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

QT学习之QMainWindow详解

文章目录1、菜单栏2、工具栏3、状态栏4、铆接部件5、核心部件(中心部件)6、资源文件 有关QT的学习我们会采取连载更新,传送门: 有C++基础如何直接上手QT? 最适合新手的第一个Qt小程序 今天更新内容为QMainWindow相关学习介绍。 QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的

黑马程序员官方博客 2654

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

qt 添加依赖库lib_如何在Qt Creator中添加库文件和头文件目录

在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹:INCLUDEPATH +=D:\OpenCV2.0\vc2008\include\opencv(D:\OpenCV2.0\vc2008\include\opencv就是我的opencv头文件所在的文件夹,如果还增加其他的头文件,...

weixin_39854778的博客 3375

QT资源库中图片的调用

在开发一个项目的时候,如果需要加载资源的话,最好不要使用绝对路径。因为在项目打包或者给别人使用的时候,往往会出现资源丢失或者是路径对不上号的情况,但是由于最近在做QT的一个小程序的开发,所以在这里写一下QT的资源图片的调用首先我们需要建立一个QT的资源库,建立好了以后是一个.qrc的文件啦:首先添加一个新文件;然后就要选择添加的是QT的资源文件:添加了文件以后,输入它的名字,创建完毕;创建完了以后...

wardenjohn的博客 9539

Qt实现聊天小程序

Qt实现聊天小程序 去发现同类优质开源项目:https://gitcode.com/ 简介 本仓库包含一个Qt实现的聊天小程序项目,该程序支持发送文字及图片,并能显示聊天内容。本项目旨在提供一个基础的通信工具,供学习和研究使用。 功能 服务器端:保存客户信息、客户的IP地址以及UDP、TCP端口号。 客户端:实现发送聊天信息和图片功能,并提供消息提示图标。 支持客户端向多个用户发送消息。 使用...

gitblog_06758的博客 356

Qt 从入门到入土【上】

Qt 学习笔记(上)

m0_51913750的博客 1051

QT:-1: error: [Makefile.Debug:82: debug/Xresource_res.o] Error 1(为QT生成的可执行程序添加图标)

使用Qicon为QT开发的上位机添加图标

weixin_46567625的博客 2766

QT入门看这一篇就够(详解含qt源码)

Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发者提供建立图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。Qt框架默认提供的标准信号和槽不足以完成我们日常应用开发的需求,比如说点击某个按钮让另一个按钮的文字改变,这时候标准信号和槽就没有提供这样的函数。但是Qt信号和槽机制提供了允许我们自己设计自己的信号和槽。声明在类的signals域下没有返回值,void类型的函数只有函数声明,没有定义可以有参数,可以重载。

m0_65635427的博客 7621

QT中一些小程序合集

1.QT中实现播放gif图片的效果:运用到label标签,运用到QMovie类. 实现过程:项目右键->添加新文件->Qt->Qt资源文件.设定名称.(先添加文件名,后添加文件). 再在类中添加如下代码即可: Dialog::Dialog(QWidget *parent) : QDialog(parent), ui(new Ui::Dialog) {

山水人间。 1812

STM32_CAN波特率计算小程序(带QT源码)

STM32_CAN波特率计算小程序(带QT源码) 去发现同类优质开源项目:https://gitcode.com/ 此仓库提供了STM32_CAN波特率计算小程序的完整资源,包括带QT源码的版本。该程序旨在帮助开发者根据特定的波特率、采样点以及允许的错误率,自动计算出STM32 CAN初始化结构体中的相关参数值。 功能说明 输入波特率、采样点及错误率参数。 计算并输出对应的CAN_InitStr...

gitblog_06751的博客 267
上一篇: Hi3519V101移植SDL+FreeType+SDL_ttf
下一篇: Qt小程序(二)-Qt Designer使用简单介绍
simonXi-tech
博客等级 码龄10年 398粉丝 52原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值