一步步学Qt,第四天-Qt程序发布问题

Qt学习笔记5:不规则窗体 1.新建Gui应用,类名自定义(示例为ShapeWidget),基类选择QWidget 2.为了使不规则窗体能够通过鼠标随意拖拽,在类中重定义了鼠标事件 mousePressEvent() 、mouseMoveEvent() 以及绘制函数paintEvent() protected: void mousePressEvent(QMouseEvent *); void mouseMoveEvent(QMouseEvent *); void paintEvent(QPaintEvent *);. 阅读详情

一步步学Qt,第四天-Qt程序发布问题

今天打算给朋友写一个小小的软件,在程序当中加入了一些资源文件,比如图片之类的,可以问题来了.release之后在release目录下面的可执行文件.执行之后确没有加载资源.不解?


有哪位朋友知道的,分享一下!小弟谢过!



下面写一下,在那个程序编写过程中遇到的问题

1. QString到STL string类型的转换

 QString t;
 QByteArray ba = t.toLatin1();
 string str = string(ba.data());

2. 不规则窗体的实现

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
    class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

    void mouseMoveEvent(QMouseEvent *);
    void paintEvent(QPaintEvent *);
    void mousePressEvent(QMouseEvent *event);
private slots:
    void on_pushButton_clicked();

private:
    Ui::Widget *ui;
    QPoint dragPosition;
};

#endif // WIDGET_H

看看构造函数

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPixmap pix;
    pix.load(":/images/Gmail.png",0,Qt::AvoidDither | Qt::ThresholdAlphaDither | Qt::ThresholdDither);
    resize(pix.size());
    setMask(pix.mask());
}

鼠标事件响应处理

void Widget::mouseMoveEvent(QMouseEvent *event){
    if(event->buttons() & Qt::LeftButton){
        move(event->globalPos()- dragPosition);
        event->accept();
    }
}

void Widget::paintEvent(QPaintEvent *){
    QPainter painter(this);
    painter.drawPixmap(0,0,QPixmap(":/images/Gmail.png"));
}


void Widget::mousePressEvent(QMouseEvent *event){
    if(event->button() == Qt::LeftButton){
        dragPosition = event->globalPos() - frameGeometry().topLeft();
        event->accept();
    }
    if(event->button() == Qt::RightButton){
        close();
    }
}
程序运行效果:


看头文件可知:

Widget继承自QWidget,那么我们把上面的QWidget改成QDialog会如何呢?修改后执行结果有点意外,图片不能正确加载,就是简单的Dialog

或许是的我code有问题,继续研究中.




Qt5设置应用程序图标和发布程序 1、设置应用程序图标 简单三步走,搞定 ①创建一个图标格式的文件,可以网上在线将普通的图形格式转成.ico 格式的图标文件 http://www.faviconico.org/ 这个网站可以在线转换png、jpg、gif文件为ico格式,亲测很好用 ②将转换好的图标文件myico.ico放到源码目录,就是.Pro所在的文件夹啦 ③在.pro项目文件中添加一行代码:RC_IC 阅读详情

相关推荐

一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题

一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题 今天写了一个MainWidow,但是遇到的问题,很有意思,先看效果吧:(期望的效果) 结果我的结果是: 也就是,资源文件没有加载. 就在此刻,我突然的冒出来,

Qicz的学习笔记 博客新址:izcqi.com 1701

QT中创建透明或者异形的Window

1.main.cpp中 打开窗体的那里添加 w.setAttribute(Qt::WA_TranslucentBackground); 这样就不会有百边了 然后,假如是MainWindow 头文件里面添加: protected: void paintEvent(QPaintEvent *event);

872

一步步学Qt,第四天-Qt 建立MainWindow的小小bug处理

一步步学Qt,第四天-Qt 建立MainWindow的小小bug处理 刚写好的小小的记事本,差不多可以使用了,不过在测试中发现了很多的bug,这才一个个的修改了,修改后的实现文件code是: #include "mainwindow.h" #include "ui_mai

Qicz的学习笔记 博客新址:izcqi.com 1300

Qt 程序打包发布总结

1.  概述  当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行。编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件。 QT开发的程序发布的时候经常采用两种方式: l  静态编译,可生成单一的可执行文件。 l  动态编译,需同时附上需要的dll文件。 2.  发布准备 不管采用哪种方式,首

liuyez123的博客 7万+

Qt程序打包发布方法(使用官方提供的windeployqt工具)_qt发布软件

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。进入这个文件夹,在进入它的子文件夹 release 里面,找到 hellomw.exe,将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 D:\hellomw\ 文件夹里面。进入这个目录,再进入 release 子文件夹,找到 helloqml.exe ,复制到一个新的单独的文件夹里面,比如 D:\helloqml\ 文件夹里面。

2401_84910839的博客 1351

QT5开发的程序打包发布

一、开发平台 QT5开发的程序打包发布出来,在任何一台windows系统都能运行,这样就不会限于电脑需不需要安装QT安装包了。 自己用的QT版本是 我的电脑系统是WIn10专业版的。 二、介绍一下打包工具。 1.一个是QT5自带的windeployqt(这个大家不需要下载安装) 2.另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box,下载衔接:Engima Virtual Box 图标如下: 3.还有一个是Inno Setup6软件,图标如下: 三、QT5

星如雨落 3302

VS+QT发布程序详细步骤,以及遇到的问题

将应用程序提供给用户在其他计算机上使用就是发布。即使其他电脑没有安装qt和vs也能成功运行。发布其实就是打包应用程序所需环境的过程。

weixin_48866092的博客 4033

Mac电脑用Latex论文排版3天速成5天实战de笔记

我后悔了,这五天竞赛搞得我视力都下降了...一个冲动的决定后成为数模竞赛论文写手,3天速成+5天时间=点亮攻克latex写论文技能💡关于Overleaf我是Mac,曾经按照大部分推荐的方式用TEXshop+vs code,但是把模板导入就开始报错。跟着少之又少的适配mac的教程(此时我已知道大概是走错路了)改了配置也无效。海鲜市场找佬改了半天,佬问我:一定要用VC吗?我说,那倒也不是。于是佬推荐我overleaf,三下五除二帮我挑配了环境,美汁汁收了我30块钱。

luwanjoyce的博客 2248

QT 程序的打包和发布

环境说明 开发环境:Windows10 X64+VisualStudio2019+QT5.9 发布环境:Windows7 X64 关于QT编译的可执行文件 在用VisaulStudio+Qt模板写完程序后,在VisaulStudio中的debug或者release状态下运行程序都是没有问题的,并且会在工程目录下生成对应的debug或者release文件夹,里面存放着各自生成的exe(可执行文件),在一般情况下,我们可以直接双击exe文件运行其程序. 但是,由于Qt模板生成的exe却无法直接运行,这是因为Q

Chroniccandy的博客 2747

学习 Bootstrap 5 之 Tables

学习 Bootstrap 5 之 表格表格 (Tables)1. 创建表格(1). 使用原生的表格标签(2). 使用Bootstrap 5 的提供的表格标签类(3). 原生与Bootstrap创建出来的表格的对比2. 表格样式(1). 表格样式的效果(2). 表格样式的使用1). 用于 <table> 标签2). 用于 <thead> <tbody> <tfoot> 标签 表格 (Tables) 1. 创建表格 (1). 使用原生的表格标签 <tabl

qq_37354060的博客 2130

搞定汽车座椅电机EMC超标:一个PCB滤波板的实战设计与避坑心得

本文详细介绍了汽车座椅电机EMC超标问题的解决方案,通过PCB滤波板的实战设计,解决了传导发射测试超标问题。文章分享了在空间受限条件下的滤波电路架构设计、接地系统优化及迭代验证过程,为汽车直流电机的EMC整改提供了实用方法论。

weixin_30336061的博客 379

QT程序打包发布

一、步骤概述 Qt 项目开发完成之后,打包发布程序步骤 1、生成release版本 2、获取程序所需要的dll文件 3、使用打包工具Inno Setup将程序打包成一个exe安装包发布。 二、具体操作 1、生成release版本 以 Release 方式编译生成 exe 程序,也就是调试运行的方式选择 Release。在这一步的关键是要注意编译版本,即是使用msvc2017 64bit还是别的。运行成功后,如果勾选了 “shadow build” 将源码路径和构建路径分开,那么...

weixin_44363130的博客 3599

12、信号采样与Z变换的全面解析

本文全面解析了信号采样和Z变换的核心概念与应用。内容涵盖采样基础、采样频率与奈奎斯特率的关系、离散时间处理模拟信号的方法、采样率转换技术,以及Z变换的定义、性质、常见变换对和逆变换计算。通过实例分析和流程图展示,帮助读者深入理解数字信号处理的关键步骤,为相关领域的学习与应用打下坚实基础。

Jerry的专栏 118

【QT5】<总览一> QT环境搭建、程序发布及快捷键

在嵌入式Linux应用层开发时,经常使用QT作为图形化界面显示工具。为学习Linux下的QT编程,在Ubuntu和开发板中搭建QT开发环境,并记录学习中的知识点与代码。​本篇基于Ubuntu 18.04和QT 5.12.9,参考教程视频:【正点原子】Qt教程。若存在版权问题,请联系作者删除!

致力于Linux的博客 1377

在 NVIDIA DGX Spark 上运行 vLLM + Open WebUI

DGX Spark 和 GX10 都是性能强大的机器,但只有将它们视为交互式工作站而非精简版服务器,才能真正发挥它们的优势。合理利用共享资源,规划并发工作负载,并谨慎控制内存限制。做到这些,vLLM 与 Open WebUI 的结合就能成为可靠​​的日常工具,而不是脆弱的实验品。DGX平台本身价格不菲,但这并非体验此类硬件的唯一途径。多家厂商提供基于相同核心架构、价格更为亲民的系统,这些系统通常配备容量较小的固态硬盘或配置更为简化,但基本性能并未改变。

iCloudEnd的博客 1750

TypeError: ‘<=‘not supported between instances of ‘float’and ‘str‘解决方案

本文主要介绍了TypeError: '

weixin_43178406的博客 28万+

QT5程序打包发布

1.概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行。编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件。 QT开发的程序发布的时候经常采用两种方式: l 静态编译,可生成单一的可执行文件。 l 动态编译,需同时附上需要的dll文件。 2.发布准备 不管采用哪种方式,首先我们要...

天空的博客 1万+

损失函数大汇总(八)(IoU Loss附公式推导与代码)

本文详细介绍了IoU Loss及其在图像分割中的应用。IoU(交并比)是衡量预测区域与真实区域重叠程度的指标,IoU Loss定义为1-IoU,直接优化区域重叠质量。文章推导了IoU的数学表达式和梯度计算,分析了其函数特性:全局耦合梯度、对漏检误检的双重惩罚、适合类别不平衡任务。与Dice Loss相比,IoU更强调覆盖质量而非相似度。实际应用中IoU Loss常与BCE组合使用,前者保证训练稳定性,后者优化整体区域质量。文章还提供了IoU Loss的代码实现,适用于二值分割、小目标提取等场景,特别当任务评

悦学共鸣,温柔以待,汇聚光芒,共同成长 414

Qt程序的发布

Qt程序的发布

ygydy的博客 6852

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Linux下的QT程序打包,发布流程

目录Linux下的QT程序打包,发布流程打包流程编译碰到的问题 Linux下的QT程序打包,发布流程 问题描述:QT下运行的程序需要安装QT环境,为了让程序离开QT环境依旧可以照常运行,所以需要将程序打包发布。 打包流程 编译 碰到的问题 ...

a1356467的博客 1919

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

一步步学Qt,第五天-Qt程序发布问题 解决

一步步学Qt,第五天-Qt程序发布问题 解决 在一步步学Qt,第四天-Qt程序发布问题一文中因为对资源文件与程序的结合一个事上,遇到了不理解的地方,在 一步步学Qt,第四天-Qt 建立MainWindow遇到的问题,也是常见GUI工具的问题一文中,犹豫对资源文件的

Qicz的学习笔记 博客新址:izcqi.com 1185

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Qt之新手打包发布程序

工具:电脑必备、QT下的windeployqt Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。 因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。 注:在这里以Qt 5.3.2+MinGW开发环境为例,(其他版本类同) 在开始菜单中找到Qt...

T1967125283的博客 1182
上一篇: 一步步学Qt,第三天-Qt动态调用机制
下一篇: 一步步学Qt,第四天-Qt使用sleep
Qicz
博客等级 码龄16年 56粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值