QT生成.exe安装文件

QT生成.exe安装文件

找到应用文件的运行的相关文件

1.在QT项目中,使用release进行调试,在release目录下生成.exe文件。
在这里插入图片描述
在这里插入图片描述
release调试目录一般有两种,查看“项目”中的“概要”可以找到release的路径
在这里插入图片描述 一般情况下,双击.exe文件就可以直接运行,如果无法运行,可能是缺少运行相关的.dll文件。

2.新建一个文件夹(任意位置均可),将release目录下的.exe文件复制到该文件夹中。
在这里插入图片描述
3. 在开始菜单栏中找到Qt,打开Qt for desktop;这里要根据项目使用的编译器选择相应的Qt for desktop。我的项目使用的是MinGW 64-bit编译器。
在这里插入图片描述
在这里插入图片描述
4. 输入cd指令,进入新建的文件夹下。
在这里插入图片描述
输入windeployqt Droplets.exe,该命令可以将.exe文件用到的qt相关的所有dll文件拷贝到该文件夹下。
在这里插入图片描述
在这里插入图片描述
5. 如果还有用到qt以为的其他库函数或文件,则将其相关文件也一起放到该文件夹下;直到双击.exe文件,可以正常运行为止。该应用文件运行的相关文件就基本找到了。

注:有时候在自己电脑上可以运行不一定代表相关文件找全了,由于自己的电脑上已经有该环境,所以可以运行。如果想要找全文件,就需要将该文件夹拷贝在一个没有安装与该.exe文件相关的任何环境的电脑上运行,查看时候有缺失的文件,在自己电脑上找到并复制到文件夹中。

打包生成.exe安装文件

使用Inno Setup将上面的文件夹进行打包生成.exe安装文件,具体步骤如下。

Inno Setup获取链接: https://pan.baidu.com/s/1iyUhZvi648DsB7wmKcD_IA 提取码: 6lfq

1.打开Inno Setup文件夹,运行Compil32.exe
在这里插入图片描述
2. 打开Compil32.exe,根据下面操作进行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
生成的.iss文件,点击“是”,直接编译脚本,生成安装包。如果有特殊需求可以修改.iss文件后进行编译。
在这里插入图片描述
在这里插入图片描述

  1. 编译完成,在选择的文件夹下生成setup.exe
    在这里插入图片描述
  • 16
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可以使用Qt中的布局管理器和自适应函数实现自适应屏幕分辨率。 Qt中提供了多种布局管理器,如QHBoxLayout和QVBoxLayout等,可以自动调整控件的位置和大小。同时,Qt还提供了自适应函数resizeEvent(),可以在窗口大小发生变化时自动调用。 具体实现方法如下: 1. 在Qt Designer中,使用布局管理器将控件放置在窗口中。 2. 在代码中,重写窗口的resizeEvent()函数,实现自适应。 例如,下面的代码实现了一个自适应的窗口: ``` #include <QtWidgets> class MyWidget : public QWidget { public: MyWidget(QWidget *parent = nullptr) : QWidget(parent) { // 创建控件 QLabel *label = new QLabel("Hello World", this); QPushButton *button = new QPushButton("Click Me", this); // 创建布局管理器 QVBoxLayout *layout = new QVBoxLayout(this); layout->addWidget(label); layout->addWidget(button); // 设置控件属性 setWindowTitle("My Widget"); } // 重写resizeEvent函数 void resizeEvent(QResizeEvent *event) { // 调用父类函数 QWidget::resizeEvent(event); // 获取窗口大小 QSize size = event->size(); // 设置控件大小 int labelHeight = size.height() * 0.5; int buttonHeight = size.height() * 0.2; QLabel *label = findChild<QLabel *>(); label->setFixedSize(size.width(), labelHeight); QPushButton *button = findChild<QPushButton *>(); button->setFixedSize(size.width(), buttonHeight); } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); MyWidget widget; widget.show(); return app.exec(); } ``` 在上面的代码中,重写了resizeEvent()函数,根据窗口大小调整了控件的大小和位置。其中,使用了QWidget的findChild()函数查找控件,并使用setFixedSize()函数设置控件大小。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值