当前位置:我的异常网» Linux/Unix » 贡献自己写的,在linux,arm下的屏幕搜索wifi并连接

贡献自己写的,在linux,arm下的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)

www.myexceptions.net  网友分享于:2013-09-15  浏览:192次

贡献自己写的,在linux,arm上的屏幕搜索wifi并连接(qt,多选择,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] == '\0')

{

// break;

k++;

if(k ==10)

{

qDebug()<

QMessageBox messageBox;

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

messageBox.setIcon(QMessageBox::Warning);

messageBox.exec();

}

}

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

{

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 =='\0'))

{

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();

}

效果:

欢迎提问,请叫我红领巾

文章评论

linux qt wifi连接,贡献自己写的,在linux,arm下的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)...相关推荐

  1. qt linux wifi,在linux,arm上的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)转...

    先上代码!! #include "widget.h" #include "ui_widget.h" #include #include Widget::Widg ...

  2. uboot通过u盘烧写linux内核,向Flash中烧写uboot和linux操作系统

    向Flash中烧写uboot和linux操作系统 2011年03月28日 向Flash中烧写uboot和linux操作系统 ====================================== ...

  3. oracle通过dblink连接mysql配置详解(全Windows下)

    oracle通过dblink连接mysql配置详解(全Windows下) 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也 ...

  4. linux系统 qt开发,老板让我写一个Windows程序,结果我在Linux下用Qt开发

    在Linux下面编译出了错的话怎么办呢?再"搬"回Windows来修改然后再搬到Linux下编译,周而复始? 我在Linux下基本能把程序调通,因为一开始用Qt就是因为它是跨平台的 ...

  5. linux如何查看无线密码是多少个,在 Linux 中查看连接过的 WiFi 密码

    在安装现代主流操作系统如 Windows 10.Ubuntu.macOS 时,都会要求用户提前输入 WiFi 密码.特别是 Ubuntu 系统,在配置安装向导时就可以连接 WiFi,以方便在系统安装过 ...

  6. 【线程池】自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协议丨C/C++Linux服务器开发

    [线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码 视频讲解如下,点击观看: [线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协 ...

  7. linux/windows上STM32固件烧写工具的开发demo

    1.主要实现功能:完成对HEX和DFU文件的烧写,显示烧写的进度等功能 2.开发工具:Qt creator4.9.0 3.开发系统平台:windows系统和linux系统两套平台 4.具体开发步骤: ...

  8. Linux SDIO WIFI Marvell8801/Marvell88w8801(八) --- Marvell Linux Wi-Fi driver 对接芯片上行下行接口介绍

    代码工程的GITHUB连接:点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi ...

  9. 【Qt开发】【VS开发】【Linux开发】OpenCV、Qt-MinGw、Qt-msvc、VS2010、VS2015、Ubuntu Linux、ARM Linux中几个特别容易混淆的内容...

    [Qt开发][VS开发][Linux开发]OpenCV.Qt-MinGw.Qt-msvc.VS2010.VS2015.Ubuntu Linux.ARM Linux中几个特别容易混淆的内容 标签:[Qt ...

最新文章

  1. linux内核rcu锁实例,Linux Rcu到底有没有锁?
  2. 【Java】时间复杂度 与 空间复杂度
  3. Linux2.6内核--内存管理(2)--区
  4. 还在为DST模型刷不动而感到苦恼吗?来试试无监督DST吧,DSI等你来战!
  5. boost::log::sinks::debug_output_backend用法的测试程序
  6. 上海浦东新区计算机学校排名2015,2015年上海市浦东新区初级中学最新排名
  7. 2020 年 AI 视觉检测的应用价值
  8. 宝塔Linux怎么安装Mariadb,如何在linux上面安装mariadb总结
  9. linux find 用法详解 + 实例
  10. 树莓派与笔记本用远程桌面连接(Xrdp远程桌面服务)
  11. python slice和列表切割_Python 列表切边 slice
  12. Hive去重最佳方法
  13. 顶点计划 班委问题讨论
  14. visual studio code写c语言是在include下有绿色的下划线提示not found
  15. Python基于Snap7与PLC建立连接并读写数据
  16. js html编码和解码,JavaScript字符集编码与解码
  17. 数值分析——Hermite插值
  18. FFplay源码分析-rtmp入口
  19. 最新Python3.10官方文档PDF来了(最新Python大词典)
  20. layui模板引擎文档 - layui.laytpl的具体使用

热门文章

  1. 如何有效防止域名被电信服务商劫持(电信114弹窗广告)
  2. c# ifram 刷新父页面
  3. activiti 工作流 springboot 后台框架平台 集成代码生成器 shiro 权限
  4. c#算两个火星坐标的距离(高德or百度)
  5. struts2 标签中read-only=true 和disabled的区别
  6. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题
  7. many-to-many
  8. java版电子商务spring cloud分布式微服务b2b2c社交电商-服务容错保护(Hystrix服务降级)...
  9. git 统计单个开发的代码量
  10. Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)