Compare commits

...

2 Commits

@ -0,0 +1,19 @@
import QtQuick 2.15
Row {
property alias name: name.text
property alias address: address.text
spacing: 40
Text {
id: name
font.pointSize: 42
anchors.verticalCenter: parent.verticalCenter
}
Text {
id: address
font.pointSize: 36
anchors.verticalCenter: parent.verticalCenter
}
}

@ -7,8 +7,10 @@ Window {
visible: true
title: qsTr("Hello World")
Text {
text: netint.name
font.pointSize: 60
NetIf {
name: netint.name
address: netint.address
}
}

@ -1,11 +1,11 @@
#include "networkinterface.h"
#include <QNetworkInterface>
NetworkInterface::NetworkInterface(int interfaceIndex, QObject *parent)
: QObject{parent}
: QObject{parent},
m_qni{QNetworkInterface::interfaceFromIndex(interfaceIndex)}
{
QNetworkInterface qni{QNetworkInterface::interfaceFromIndex(interfaceIndex)};
setName(qni.name());
setName(m_qni.name());
setAddress(m_qni.addressEntries().first().ip().toString());
}
QString NetworkInterface::name() const
@ -20,3 +20,16 @@ void NetworkInterface::setName(const QString &newName)
m_name = newName;
emit nameChanged();
}
QString NetworkInterface::address() const
{
return m_address;
}
void NetworkInterface::setAddress(const QString &newAddress)
{
if (m_address == newAddress)
return;
m_address = newAddress;
emit addressChanged();
}

@ -2,22 +2,32 @@
#define NETWORKINTERFACE_H
#include <QObject>
#include <QNetworkInterface>
class NetworkInterface : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged FINAL)
Q_PROPERTY(QString address READ address WRITE setAddress NOTIFY addressChanged FINAL)
public:
explicit NetworkInterface(int interfaceIndex, QObject *parent = nullptr);
QString name() const;
void setName(const QString &newName);
QString address() const;
void setAddress(const QString &newAddress);
signals:
void nameChanged();
void addressChanged();
private:
QNetworkInterface m_qni;
QString m_name;
QString m_address;
};
#endif // NETWORKINTERFACE_H

@ -1,5 +1,6 @@
<RCC>
<qresource prefix="/">
<file>main.qml</file>
<file>NetIf.qml</file>
</qresource>
</RCC>

Loading…
Cancel
Save