bgvf 发表于 2015-10-1 14:40:30

linux下实现连接wifi功能

#include "widget.h"
#include "ui_widget.h"
#include <QVBoxLayout>
#include <QMessageBox>


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<line.size()-1;t++)       //take offother words
{
wifiName +=line;
}
line = in.readLine();
for(t=28;t<30;t++)       //take offother words
{
temp +=line;
}
i++;
}
for(i=0;i<20;i++)
{
qDebug()<<"temp"<<temp;
qDebug()<<"name"<<wifiName;
}
for(i=0;i<19;i++)
{
for(j=1;j<20;j++)
{
if(temp<temp)
{
transfer = temp;
temp = temp;
temp = transfer;

transfer =wifiName;
wifiName = wifiName;
wifiName = transfer;
}
}
}
i =0;
j =0;
int k=0;
while(i<10)
{

if(wifiName == '\0')
{
// break;
k++;
if(k ==10)
{
qDebug()<<"false";
QMessageBox messageBox;
messageBox.setText(tr("无法搜索WLAN信号"));
messageBox.setIcon(QMessageBox::Warning);
messageBox.exec();
}
}
else if(!(wifiName =='\0'))
{
radioBtn = new QRadioButton;
radioBtn->setText(wifiName);
groupBoxLayout->addWidget(radioBtn);
i++;
}
j++;
}

/*
QTextStream in(&file);
QString line = in.readLine();
while (i<10)
{
line = in.readLine();
QString temp;
for(t=27;t<line.size()-1;t++)       //take offother words
{
temp +=line;
}
qDebug()<<temp;
if(!(temp =='\0'))
{
radioBtn = new QRadioButton;
radioBtn->setText(temp);
groupBoxLayout->addWidget(radioBtn);
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->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
if(radioBtn->isChecked())
{
QString wifiName = radioBtn->text();
QString wifiConnect = tr("iwconfig wlan1 essid \"%1\" ").arg(wifiName);
system(wifiConnect.toAscii());
}
QMessageBox messageBox;
messageBox.setText(tr("连接成功!"));
messageBox.exec();
this->close();
}

  
页: [1]
查看完整版本: linux下实现连接wifi功能