热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

QT应用编程:域名解析(域名转IP)

一、环境介绍Qt:5.12.6操作系统:win10(64位)二、软件效果与功能介绍功能:域名解析(域名转IP)三、核心代码3.1widget.cpp#includew

一、环境介绍

Qt:  5.12.6

操作系统:  win10 (64位)


二、软件效果与功能介绍

功能:  域名解析(域名转IP)


三、核心代码


3.1 widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);
}Widget::~Widget()
{delete ui;
}/*
工程: SmartHome
日期: 2021-04-26
作者: DS小龙哥
环境: win10 QT5.12.6 MinGW32
功能: 日志显示
*/
void Widget::Log_Text_Display(QString text)
{QPlainTextEdit *plainTextEdit_log=ui->plainTextEdit_log;//设置光标到文本末尾plainTextEdit_log->moveCursor(QTextCursor::End, QTextCursor::MoveAnchor);//当文本数量超出一定范围就清除if(plainTextEdit_log->toPlainText().size()>1024*4){plainTextEdit_log->clear();}plainTextEdit_log->insertPlainText(text);//移动滚动条到底部QScrollBar *scrollbar = plainTextEdit_log->verticalScrollBar();if(scrollbar){scrollbar->setSliderPosition(scrollbar->maximum());}
}//当解析成功域名后,会调用lookedUp槽函数
void Widget::lookedUp(const QHostInfo &host)
{if (host.error() != QHostInfo::NoError) {Log_Text_Display(host.errorString()+"\n");return;}foreach (QHostAddress address, host.addresses()){Log_Text_Display(address.toString()+"\n");}
}/*
工程: IP_Addr_Analysis
日期: 2021-06-01
作者: DS小龙哥
环境: win10 QT5.12.6 MinGW32
功能: 域名解析
*/
void Widget::on_pushButton_ip_get_clicked()
{//先调用 命令nslookup解析域名,再调用QHostInfo解析,有些域名QHostInfo解析不了。//多此一举使用QHostInfo的原因是,懒得解析字符串,QHostInfo信号里直接读取IP地址。QProcess process;process.start(QString("nslookup %1").arg(ui->lineEdit_ip_name->text()));process.waitForFinished(5000);Log_Text_Display(process.readAll()+"\n");QHostInfo::lookupHost(ui->lineEdit_ip_name->text(),this, SLOT(lookedUp(QHostInfo)));
}/*
工程: IP_Addr_Analysis
日期: 2021-06-01
作者: DS小龙哥
环境: win10 QT5.12.6 MinGW32
功能: 清除数据
*/
void Widget::on_pushButton_clean_clicked()
{ui->plainTextEdit_log->clear();
}

3.2 widget.h

#ifndef WIDGET_H
#define WIDGET_H#include
#include
#include
#include
#include
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void lookedUp(const QHostInfo &host);void Log_Text_Display(QString text);void on_pushButton_ip_get_clicked();void on_pushButton_clean_clicked();private:Ui::Widget *ui;
};
#endif // WIDGET_H

 

 


推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 本文介绍了一款名为TimeSelector的Android日期时间选择器,采用了Material Design风格,可以在Android Studio中通过gradle添加依赖来使用,也可以在Eclipse中下载源码使用。文章详细介绍了TimeSelector的构造方法和参数说明,以及如何使用回调函数来处理选取时间后的操作。同时还提供了示例代码和可选的起始时间和结束时间设置。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板
    本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • iOS Swift中如何实现自动登录?
    本文介绍了在iOS Swift中如何实现自动登录的方法,包括使用故事板、SWRevealViewController等技术,以及解决用户注销后重新登录自动跳转到主页的问题。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
author-avatar
you是was的was
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有