Linux QT以太网配置及相关知识

这篇具有很好参考价值的文章主要介绍了Linux QT以太网配置及相关知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

平台和内容概述

平台**:AC8015**
运行环境:Linux kernel (4.9) + Systemd + QT 的系统组合,基于编译
框架 Yocto sumo (2.5)构建

基于该平台,编写以太网配置程序,可以动态获取ip;静态配置ip;开机自动配置以太网。
还涉在开发过程中遇到的一些知识点,为了巩固知识,做个记录。

安装Qt Creator

可以从Qt官方网站(https://www.qt.io/download)下载并按照安装说明进行安装。平台使用的是QT 5.63,因此这里使用的是桌面版本,下载安装即可编写程序。(时间上紧急,没有花时间去安装交叉编译器)
Linux QT以太网配置及相关知识,2024,Autochips,linux,qt

设计用户界面

使用Qt Creator新建一个工程,优先设计ui界面,ui具体设计不做详细描述。
运行图示(可视化设计工具来创建用户界面。打开mainwindow.ui文件,使用Qt Creator的“Design”选项卡来设计你的界面。):
ui文件下载
Linux QT以太网配置及相关知识,2024,Autochips,linux,qt
在设计界面过程中,id地址,子网掩码,网关,dns对应的QLineEdit输入框需要自定义,通过继承父类QLineEdit来重写focusInEvent函数。简单理解就是配置静态ip相关信息的时候,数字键盘输入的内容能显示到指定的输入框中。(下文代码会具体说明)

Qt Creator的UI设计编辑界面:
Linux QT以太网配置及相关知识,2024,Autochips,linux,qt
手动编辑该文件.ui文件设计界面:
Linux QT以太网配置及相关知识,2024,Autochips,linux,qt

编辑源代码

自定义LineEdit

首先是上文提到的自定义LineEdit类的头文件
创建头文件:customlineedit.h

// customlineedit.h
#ifndef CUSTOMLINEEDIT_H
#define CUSTOMLINEEDIT_H
#include <QLineEdit>

// CustomLineEdit类的声明,继承自QLineEdit
class CustomLineEdit : public QLineEdit
{
   
    Q_OBJECT

public:
    // 构造函数,允许在构造时传递父类指针,默认为nullptr
    explicit CustomLineEdit(QWidget *parent = nullptr);

signals:
    // 自定义信号,表示焦点进入事件
    void focusInSignal();

protected:
    // 重写基类的虚函数,处理焦点进入事件
    void focusInEvent(QFocusEvent *event) override;
};

#endif // CUSTOMLINEEDIT_H

  1. #ifndef CUSTOMLINEEDIT_H 和 #define CUSTOMLINEEDIT_H:这是预处理器的条件编译指令,用于防止头文件的多次包含。
  2. #include :引入了Qt框架的QLineEdit类的头文件,因为CustomLineEdit是继承自QLineEdit的子类。
  3. class CustomLineEdit : public QLineEdit:声明了一个类 CustomLineEdit,它是 QLineEdit 的子类。
  4. Q_OBJECT:这是一个Qt宏,用于启用Qt的元对象系统,支持信号与槽(Signals and Slots)机制。
  5. explicit CustomLineEdit(QWidget *parent =
    nullptr);:声明了类的构造函数,允许在构造时传递父类指针,默认为nullptr。
  6. signals::这是一个Qt关键字,用于声明类中的信号。
  7. void focusInSignal();:声明了一个自定义信号 focusInSignal(),用于表示焦点进入事件。
  8. protected::这是一个访问修饰符,表示以下的成员(在这里是 focusInEvent
    函数)对派生类和友元类可见,但对外部类不可见。
  9. void focusInEvent(QFocusEvent *event) override;:声明了一个保护的虚函数,重写了基类
    QLineEdit 中的 focusInEvent 函数,用于处理焦点进入事件。
  10. #endif // CUSTOMLINEEDIT_H:这是条件编译指令的结束标记,表示头文件的结束。

创建源文件customlineedit.cpp文章来源地址https://www.toymoban.com/news/detail-785950.html

// CustomLineEdit类的构造函数实现
CustomLineEdit::CustomLineEdit(QWidget *parent)
    : QLineEdit(parent)
{
   
    // 构造函数中的初始化列表将父类的构造函数(QLineEdit)传递给基类的构造函数
}

// CustomLineEdit类的focusInEvent(焦点进入事件)的实现
void CustomLineEdit::focusInEvent(QFocusEvent *event)
{
   
    // 调用基类(QLineEdit)的focusInEvent函数,确保基类的相应事件处理逻辑被执行
    QLineEdit::focusInEvent(event);

    // 发射自定义的信号focusInSignal(),表示焦点进入事件已发生
    emit focusInSignal();
}
  1. #include “customlineedit.h”:引入了自定义LineEdit类的头文件,这个文件中应该包含了类的声明。
  2. CustomLineEdit::CustomLineEdit(QWidget *parent) :
    QLineEdit(parent):构造函数的实现,它调用了

到了这里,关于Linux QT以太网配置及相关知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 以太网帧、IP数据报的图解格式(包含相关例题讲解,一题足够)

    目录 一、基础知识 1.1、UDP段、IP数据报,以太网帧图示 1.2、以太网帧图示 1.3、IP数据报图示 二、例题讲解 1.1 题目及答案 1.2、答案解析 通信过程中,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示。 不同的协议层对数据包有不同的称谓,在

    2024年02月05日
    浏览(37)
  • 【Linux】以太网协议——数据链路层

    IP拥有将数据跨网络从一台主机送到另一台主机的能力,但IP并不能保证每次都能够将数据可靠的送到对端主机,因此IP需要上层TCP为其提供可靠性保证,比如数据丢包后TCP可以让IP重新发送数据,最终在TCP提供的可靠性机制下IP就能够保证将数据可靠的发送到对端主机。 TCP除

    2024年02月12日
    浏览(44)
  • 【Linux】数据链路层:以太网协议

    约束不等于压迫,冷静和理性不等于冷淡和麻木。 1. (1)IP提供了将数据包跨网络发送的能力,这种能力实际上是通过子网划分+目的ip+查询节点的路由表来实现的,但实际上数据包要先能够在局域网内部进行转发到目的主机,只有有了这个能力之后,数据包才能跨过一个个

    2024年02月11日
    浏览(34)
  • 【Linux】以太网协议以及MTU

    数据链路层的主要功能是:控制链路。包括数据链路的建立、链路的维护和释放。MAC寻址也是它的功能,寻址是指计算机网卡的MAC地址。 从图中可以看到,以太网的数据格式较为简单,包括源地址和目的地址,其中指的都是MAC地址,也就是物理上唯一标识此设备的 类型字段

    2024年02月11日
    浏览(31)
  • WOL唤醒配置(以太网、PHY、MAC)

    目录 wol  以太网 MAC PHY RMII 通信配置 总结 Wake-on-LAN简称WOL,WOL(网络唤醒) 是一种标准网络协议,它的功效在于让已经进入休眠状态或关机状态的计算机,透过局域网(多半为以太网)的另一端对其发令,使其从休眠状态唤醒、恢复成运作状态,或从关机状态转成引导状态

    2024年02月03日
    浏览(57)
  • MAC地址_MAC地址格式_以太网的MAC帧_基础知识

    全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址 要将计算机连接到以太网,需要使用相应的网络适配器(Adapter),网络适配器一般简称为“网卡”。 在计算机内部,网卡与CPU之间的通信,一般是通过计算机主板上的IO总线以并行传输方式进行。 网卡

    2024年02月04日
    浏览(39)
  • ❤ 关于以太网没有有效的ip配置问题解决方法

    一,检查IP地址是否为自动获取 1,首先右键任务栏右下角的网络图标点击进入\\\"网络和共享中心\\\",然后点击\\\"更改适配器设置\\\"。 2,在适配器界面右键\\\"本地连接\\\"点击打开属性 3,在本地连接属性界面将“Internet 协议版本 6 (ICP/IPv6)”前面的√去掉,然后选中“Internet 协议版本 4 (

    2024年02月08日
    浏览(28)
  • 华为AR路由器 典型配置案例——以太网交换

    目录 Eth-Trunk 例:配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例:配置基于接口划分VLAN,实现同一VLAN内的互通(同设备) 组网需求 操作步骤 检查配置结果 配置脚本 举例:配置三层子接口实现不同VLAN间的互通 组网需求 操作步骤 检查配置结果 配置

    2024年02月11日
    浏览(28)
  • STM32以太网接口的配置和使用方法详解

    STM32 微控制器提供了多种系列和型号,不同型号的芯片可能有不同的以太网接口,包括MAC(媒体访问控制器)和PHY(物理层接口)等组件。 在这里,我们以STM32F4系列为例来详细介绍以太网接口的配置和使用方法。 ✅作者简介:热爱科研的嵌入式开发者,修心和技术同步精进

    2024年04月26日
    浏览(32)
  • Linux 中的以太网管理,以及udhcpc介绍和使用步骤

    在Linux中, udhcpc 是一个用于动态获取IP地址的工具,通常用于DHCP(Dynamic Host Configuration Protocol)网络配置。它是BusyBox工具集中的一部分,用于从DHCP服务器获取IP地址、网关、DNS服务器等网络配置信息。 以下是 udhcpc 的基本介绍和使用流程: 1. 安装 udhcpc : udhcpc 通常是与Bus

    2024年04月22日
    浏览(21)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包