linux环境下wifi,linux下实现连接wifi功能

#include "widget.h"

#include "ui_widget.h"

#include

#include

Widget::Widget(QWidget *parent) :

QWidget(parent),

ui(new Ui::Widget)

{

ui->setupUi(this);

int i =0;

int j =0;

int t =0;

QVBoxLayout *groupBoxLayout;

groupBoxLayout = new QVBoxLayout;

system("iwlist wlan1 scan >./temp ");

system("grep -E "SSID|Quality" temp >./grepTemp");

system("grep -v "x00" grepTemp >./temp");

QString fileName;

fileName = "/home/c/qt/WifiSelect/temp";

QFile file(fileName);

if (!file.open(QIODevice::ReadOnly | QIODevice::Text))

{

qDebug()<

return;

}

QTextStream in(&file);

QString line = in.readLine();

while (i<20)

{

line = in.readLine();

for(t=27;t

{

wifiName[i] +=line[t];

}

line = in.readLine();

for(t=28;t<30;t++) //take off other words

{

temp[i] +=line[t];

}

i++;

}

for(i=0;i<20;i++)

{

qDebug()<

qDebug()<

}

for(i=0;i<19;i++)

{

for(j=1;j<20;j++)

{

if(temp[i]

{

transfer = temp[i];

temp[i] = temp[j];

temp[j] = transfer;

transfer =wifiName[i];

wifiName[i] = wifiName[j];

wifiName[j] = transfer;

}

}

}

i =0;

j =0;

int k=0;

while(i<10)

{

if(wifiName[j] == ' ')

{

// break;

k++;

if(k ==10)

{

qDebug()<

QMessageBox messageBox;

messageBox.setText(tr("无法搜索WLAN信号"));

messageBox.setIcon(QMessageBox::Warning);

messageBox.exec();

}

}

else if(!(wifiName[j] ==' '))

{

radioBtn[i] = new QRadioButton;

radioBtn[i]->setText(wifiName[j]);

groupBoxLayout->addWidget(radioBtn[i]);

i++;

}

j++;

}

/*

QTextStream in(&file);

QString line = in.readLine();

while (i<10)

{

line = in.readLine();

QString temp;

for(t=27;t

{

temp +=line[t];

}

qDebug()<

if(!(temp ==' '))

{

radioBtn[i] = new QRadioButton;

radioBtn[i]->setText(temp);

groupBoxLayout->addWidget(radioBtn[i]);

i++;

}

}

*/

ui->groupBox->setLayout(groupBoxLayout);

// system("ping 192.168.0.223");

}

Widget::~Widget()

{

delete ui;

}

void Widget::on_cancelBtn_clicked()

{

this->close();

}

void Widget::on_connectBtn_clicked()

{

if(radioBtn[0]->isChecked())

{

QString wifiName = radioBtn[0]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[1]->isChecked())

{

QString wifiName = radioBtn[1]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[2]->isChecked())

{

QString wifiName = radioBtn[2]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[3]->isChecked())

{

QString wifiName = radioBtn[3]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[4]->isChecked())

{

QString wifiName = radioBtn[4]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[5]->isChecked())

{

QString wifiName = radioBtn[5]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[6]->isChecked())

{

QString wifiName = radioBtn[6]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[7]->isChecked())

{

QString wifiName = radioBtn[7]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[8]->isChecked())

{

QString wifiName = radioBtn[8]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

if(radioBtn[9]->isChecked())

{

QString wifiName = radioBtn[9]->text();

QString wifiConnect = tr("iwconfig wlan1 essid "%1" ").arg(wifiName);

system(wifiConnect.toAscii());

}

QMessageBox messageBox;

messageBox.setText(tr("连接成功!"));

messageBox.exec();

this->close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值