linux qt wifi连接,贡献自己写的,在linux,arm下的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)...
当前位置:我的异常网» 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按信号排列)...相关推荐
- qt linux wifi,在linux,arm上的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)转...
先上代码!! #include "widget.h" #include "ui_widget.h" #include #include Widget::Widg ...
- uboot通过u盘烧写linux内核,向Flash中烧写uboot和linux操作系统
向Flash中烧写uboot和linux操作系统 2011年03月28日 向Flash中烧写uboot和linux操作系统 ====================================== ...
- oracle通过dblink连接mysql配置详解(全Windows下)
oracle通过dblink连接mysql配置详解(全Windows下) 关于oracle通过dblink连接mysql,经过了两周的空闲时间研究学习,终于配置好了,真是不容易啊,仔细想想的话,其实也 ...
- linux系统 qt开发,老板让我写一个Windows程序,结果我在Linux下用Qt开发
在Linux下面编译出了错的话怎么办呢?再"搬"回Windows来修改然后再搬到Linux下编译,周而复始? 我在Linux下基本能把程序调通,因为一开始用Qt就是因为它是跨平台的 ...
- linux如何查看无线密码是多少个,在 Linux 中查看连接过的 WiFi 密码
在安装现代主流操作系统如 Windows 10.Ubuntu.macOS 时,都会要求用户提前输入 WiFi 密码.特别是 Ubuntu 系统,在配置安装向导时就可以连接 WiFi,以方便在系统安装过 ...
- 【线程池】自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协议丨C/C++Linux服务器开发
[线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码 视频讲解如下,点击观看: [线程池]自行准备linux环境,带你手写线程池,只需仅仅150行代码|内存池|API|连接池|应用协 ...
- linux/windows上STM32固件烧写工具的开发demo
1.主要实现功能:完成对HEX和DFU文件的烧写,显示烧写的进度等功能 2.开发工具:Qt creator4.9.0 3.开发系统平台:windows系统和linux系统两套平台 4.具体开发步骤: ...
- Linux SDIO WIFI Marvell8801/Marvell88w8801(八) --- Marvell Linux Wi-Fi driver 对接芯片上行下行接口介绍
代码工程的GITHUB连接:点进进入GITHUB仓库 https://github.com/sj15712795029/stm32f1_marvell88w8801_marvell8801_wifi ...
- 【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 ...
最新文章
- linux内核rcu锁实例,Linux Rcu到底有没有锁?
- 【Java】时间复杂度 与 空间复杂度
- Linux2.6内核--内存管理(2)--区
- 还在为DST模型刷不动而感到苦恼吗?来试试无监督DST吧,DSI等你来战!
- boost::log::sinks::debug_output_backend用法的测试程序
- 上海浦东新区计算机学校排名2015,2015年上海市浦东新区初级中学最新排名
- 2020 年 AI 视觉检测的应用价值
- 宝塔Linux怎么安装Mariadb,如何在linux上面安装mariadb总结
- linux find 用法详解 + 实例
- 树莓派与笔记本用远程桌面连接(Xrdp远程桌面服务)
- python slice和列表切割_Python 列表切边 slice
- Hive去重最佳方法
- 顶点计划 班委问题讨论
- visual studio code写c语言是在include下有绿色的下划线提示not found
- Python基于Snap7与PLC建立连接并读写数据
- js html编码和解码,JavaScript字符集编码与解码
- 数值分析——Hermite插值
- FFplay源码分析-rtmp入口
- 最新Python3.10官方文档PDF来了(最新Python大词典)
- layui模板引擎文档 - layui.laytpl的具体使用
热门文章
- 如何有效防止域名被电信服务商劫持(电信114弹窗广告)
- c# ifram 刷新父页面
- activiti 工作流 springboot 后台框架平台 集成代码生成器 shiro 权限
- c#算两个火星坐标的距离(高德or百度)
- struts2 标签中read-only=true 和disabled的区别
- ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题
- many-to-many
- java版电子商务spring cloud分布式微服务b2b2c社交电商-服务容错保护(Hystrix服务降级)...
- git 统计单个开发的代码量
- Spring Cloud Spring Boot mybatis分布式微服务云架构(三)属性配置文件详解(1)