/************************************************************************
* 版权所有 (C)2011, 上海欣诺有限公司。
*
* 文件名称: PppoeResult.cpp
* 文件标识:
* 内容摘要: PppoeResult
* 其它说明:
* 当前版本: 1.0
* 作 者:
* 完成日期:
*
* 修改记录1:
* 修改日期:
* 版 本 号:
* 修 改 人:
* 修改内容:
* 修改记录2:…
************************************************************************/
#include "PppoeResult.h"
/**************************************************************************
* 常量 *
**************************************************************************/
/**************************************************************************
* 宏 *
**************************************************************************/
/**************************************************************************
* 数据类型 *
**************************************************************************/
/**************************************************************************
* 全局变量 *
**************************************************************************/
/**************************************************************************
* 局部函数原型 *
**************************************************************************/
/**************************************************************************
* 类PppoeResult实现--公有部分 *
**************************************************************************/
/**************************************************************************
* 函数名称: PppoeResult
* 功能描述: 构造函数
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
PppoeResult::PppoeResult(QWidget *parent)
:QDialog(parent)
{
setupUi(this);
//设置对话款的属性
setPppoeResultAttribute() ;
//初始化第一个进程的变量
myFirstProcess =new QProcess(this) ;
connect(myFirstProcess,SIGNAL(finished(int,QProcess::ExitStatus)),
this,SLOT(readProcessDataOnce(int,QProcess::ExitStatus))) ;
//初始化第二个进程的变量
mySecondProcess =new QProcess(this) ;
connect(mySecondProcess,SIGNAL(finished(int,QProcess::ExitStatus)),
this,SLOT(readSecondProcessData(int,QProcess::ExitStatus))) ;
connect(mySecondProcess,SIGNAL(started()),this,SLOT(secondProcessStarted())) ;
//开始我的第一个进程
startMyFirstProcess() ;
//初始化计时器相关
timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(timeoutSlot()));
}
/**************************************************************************
* 函数名称: ~PppoeResult
* 功能描述: 析构函数
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
PppoeResult::~PppoeResult()
{
}
/**************************************************************************
* 函数名称: setPppoeResultAttribute
* 功能描述: 设置对话款的属性
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
void PppoeResult::setPppoeResultAttribute()
{
setFixedSize(this->size()); //固定大小显示
setWindowTitle(QString("正在连接 宽带连接..."));
//设置按钮为复选按钮
morepushButton->setCheckable( true );
progressBar->setValue(0); //默认显示为0
QPalette palette = plainTextEdit->palette();
palette.setColor(QPalette::Base,Qt::black); //设置黑色
palette.setColor(QPalette::Text,Qt::white); //设置字为白色
plainTextEdit->setPalette(palette);
plainTextEdit->setVisible( false ); //默认那个详细信息的框是不显示的
plainTextEdit->setReadOnly( true ); //设置为只读
//设置根据大小自动调整布局
layout()->setSizeConstraint(QLayout::SetFixedSize);
//连接两个按钮的信号与槽函数
connect(cancelpushButton,SIGNAL(clicked()),this,SLOT(clickOnCancelPushButton()));
connect(morepushButton,SIGNAL(toggled(bool)),this,SLOT(clickOnMorePushButton(bool))) ;
}
/**************************************************************************
* 函数名称: startMyFirstProcess
* 功能描述: 开始我的第一个进程
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:因为不是只有一个进程,在这里有两个进程,这里是开始第一个进程
* 当这个进程成功结束时,开始第二个进程
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
void PppoeResult::startMyFirstProcess()
{
//这里是通过sh命令来执行
QString program = QString("sh") ;
QStringList arguments;
//首先运行第一个配置文件来加载配置文件
arguments << PPPOE_SETUP ;
myFirstProcess->start(program,arguments);
deslabel->setText("正在加载配置文件,请稍等...");
progressBar->setValue(20);
}
/**************************************************************************
* 函数名称: startMySecondProcess
* 功能描述: 开始我的第二个进程
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
void PppoeResult::startMySecondProcess()
{
//这里是通过sh命令来执行
QString program = QString("sh") ;
QStringList arguments;
//首先运行第一个配置文件来加载配置文件
arguments << PPPOE_START ;
mySecondProcess->start(program,arguments);
deslabel->setText("正在尝试连接宽带连接...");
progressBar->setValue(30);
}
/**************************************************************************
* 函数名称: showMessageBox
* 功能描述: 根据脚本执行的结果来给用户提示错误的信息
* 访问的表:
* 修改的表:
* 输入参数:
* 输出参数:
* 返 回 值:
* 其它说明:
* 修改日期 版本号 修改人 修改内容
* -----------------------------------------------
*
**************************************************************************/
void PppoeResult::showMessageBox(QString str)
{
//如果当前不是root用户,则退出
if( str.contains( PPPOE_NOT_ROOT ) )
{
QMessageBox::information(NULL,
"没有权限",
"您不是root用户,没有权限!\n请切换至root用户再操作。",
QMessageBox::Yes | QMessageBox::No,
QMessageBox::Yes);
}
//连接超时
if( str.contains( PPPOE_TIMEOUT ) )
{
Qt pppoe拨号软件
5星 · 超过95%的资源 需积分: 50 64 浏览量
2011-12-28
16:20:44
上传
评论 2
收藏 51KB GZ 举报
谢健
- 粉丝: 126
- 资源: 34
最新资源
- 基于jsp+mysql的JSP个人日记本源码.zip
- 基于jsp+mysql+servlet的JSP图书馆图书管理系统源码.zip
- 【2024win11软件启动速度反应慢解决方法附工具】
- 3.1_将字符串颠倒输出 .cpp
- 基于MATLAB实现的数字信号处理课后仿真代码,共十四章
- mysql-8.0(windows+mac版本).zip
- Screenshot_2024-05-14-17-26-40-479_com.tencent.mobileqq.jpg
- 749783406737663csgk_schedule.zip
- 基于html+css+js(jquery)开发的网易云商城+源码+音乐+商品详情+商城界面+商城购物车+网易云首页(高分优秀项目
- 信息论课程设计基于Python实现的霍夫曼、费诺、香农编码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页