哈尔滨公司建站模板,cos领域wordpress,深圳宝安西乡网站建设,浙江今天的新消息安装在线QT#xff0c;尽量是完整地自己进行安装#xff0c;不然会少包
参考【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客 临时存储空间不够。
Windows系统通常会使用C盘来存储临时文件。
修改临时文件存储位置 打开系统属性#xff1a; 右键点击“此电…安装在线QT尽量是完整地自己进行安装不然会少包
参考【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客 临时存储空间不够。
Windows系统通常会使用C盘来存储临时文件。
修改临时文件存储位置 打开系统属性 右键点击“此电脑”或“我的电脑”选择“属性”。点击“高级系统设置”。 环境变量 在“系统属性”窗口中选择“高级”选项卡然后点击“环境变量”按钮。 修改临时文件路径 在“用户变量”部分找到TEMP和TMP变量。选择其中一个点击“编辑”。在弹出的窗口中将路径更改为您希望存储临时文件的新位置例如D:\Temp。对TEMP和TMP变量都进行相同的修改。 创建新文件夹 确保您指定的新路径已经存在。如果没有请手动创建该文件夹。 保存更改 点击“确定”保存更改关闭所有窗口。 重启计算机 为了确保更改生效建议重启计算机。 修改路径之后即可安装 打开QT 再点一次总共三次 配置如下 添加网络功能 在mainwindow.h中引入库 由于扫描功能没有qt自带的对应函数所以要自己添加无法像给quit添加槽一样直接添加 内部添加代码
// 从用户界面的输入框中获取 IP 地址
QString strIP ui-lineEdit_IP-text();
// 从用户界面的数字输入框中获取端口号
int intPort ui-spinBox_Port-value();
// 将端口号转换为字符串格式
QString strPort QString::number(intPort); // 检查 IP 地址是否为空
if(strIP.isEmpty()){ // 如果 IP 地址为空弹出信息框提示用户输入 IP QMessageBox::information(this, tr(Error), QStringLiteral(请输入 IP), QMessageBox::Ok); return; // 结束函数执行
} // 检查端口号是否为 0
if(intPort 0){ // 如果端口号为 0弹出信息框提示用户输入端口 QMessageBox::information(this, tr(Error), QStringLiteral(请输入 port), QMessageBox::Ok); return; // 结束函数执行
} // 清空树形控件中的所有项
ui-treeWidget-clear(); // 创建一个新的树形控件项使用输入的 IP 地址作为其文本
QTreeWidgetItem *items1 new QTreeWidgetItem(ui-treeWidget, QStringList(strIP)); // 创建一个 QTcpSocket 对象用于网络连接
QTcpSocket socket(0);
// 取消任何现有的连接
socket.abort();
// 尝试连接到指定的 IP 地址和端口
socket.connectToHost(strIP, intPort); // 等待连接最多等待 1000 毫秒1 秒
if(socket.waitForConnected(1000))
{ // 如果连接成功添加一个新的树形控件项显示端口已打开 new QTreeWidgetItem(items1, QStringList(strPort opened));
}
else
{ // 如果连接失败添加一个新的树形控件项显示端口已关闭 new QTreeWidgetItem(items1, QStringList(strPort closed));
}
如果显示找不到部件有可能是大小写这种微妙的差别。
构建并运行
localhost 通常用 IP 地址 127.0.0.1 表示。这是一个环回地址指向本地计算机。使用这个地址可以在网络上与本机进行通信而不需要通过网络接口。 用cmd查看 0.0.0.0:135 的监听范围更广包含了 127.0.0.1:135 的监听范围。
这说明cmd的结果与我运行的结果是一致的。 修改 QTreeWidget 初始化表头 在构造函数中添加如下代码设置 QTreeWidget 控件的初始化表头为“扫描结果” //给 QTreeWidget 初始化表头QStringList head;head 扫描结果;// 设置表头ui-treeWidget-setHeaderLabels(head); 我的遮挡我一直以为是保存更新的问题其实只是框框拖小了拖大一点就不遮挡了
生成发布版本 再按锤子生成exe
打开release的文件夹
运行这个“应用程序” 显示找不到三个dll
解决 使用 Qt 工具构建发行包 Qt 提供了一个工具 windeployqt.exe 实现发行包的构建。 把生成的 simplescan.exe 复制到一个目录下如 D:\YunNotes\QTdevelopment\PortScanning\workPlace\PortScanning.exe 进入qt终端 然后输入运行 windeployqt 从win进cmd search windeployqt D:\YunNotes\QTdevelopment\PortScanning\workPlace\PortScanning.exe 之后即可在 workPlace 目录下看到 windeployqt 工具自动复制的插件文件夹和 dll 文件等。这 时候得到的就完整的 exe 程序发布集合依赖关系都解决好了。 再次运行测试 .exe 发现功能正常。