QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: nihui

qt4 宽带网络配置向导的半成品...

[复制链接]
发表于 2009-12-24 14:56:31 | 显示全部楼层
还有几个问题,关于配置ifcfg-ethx的
里面我是这样写的

  1. DEVICE=eth0
  2. BOOTPROTO=static
  3. #BROADCAST=192.168.1.255
  4. IPADDR=192.168.1.101
  5. NETMASK=255.255.255.0
  6. GATEWAY=192.168.1.1
  7. #HWADDR=00:0C:29:69:76:CA
  8. USERCTL=yes
  9. ONBOOT=yes
  10. #TYPE=Ethernet
复制代码
打#号的都是没做的参数,不知道BROADCAST参数不做可不可以,而且网段不同这个要与或出来的吧。nnd 我也懒得去与或了。

  1. DEVICE=eth0
  2. BOOTPROTO=dhcp
  3. #HWADDR=00:0C:29:69:76:CA
  4. USERCTL=yes
  5. ONBOOT=yes
  6. #TYPE=Ethernet
复制代码
这个是dhcp的结构
回复

使用道具 举报

发表于 2009-12-25 11:19:16 | 显示全部楼层
我把tcpipinfopage.cpp也去掉了。。sorry

配置前:

  1. [root@MagicLinux network-scripts]# cat /etc/resolv.conf
  2. ; generated by /sbin/dhclient-script
  3. search
  4. nameserver 202.102.134.68
  5. nameserver 202.102.134.68
  6. nameserver 202.102.128.68
  7. [root@MagicLinux network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
  8. # Intel Corporation 82540EM Gigabit Ethernet Controller
  9. DEVICE=eth2
  10. ONBOOT=yes
  11. BOOTPROTO=dhcp
  12. HWADDR=08:00:27:86:b0:6b
复制代码
配置后:

  1. [root@MagicLinux network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
  2. # Created by MagicLinux First Wizard
  3. DEVICE=eth2
  4. BOOTPROTO=static
  5. IPADDR=192.168.1.190
  6. NETMASK=255.255.255.0
  7. GATEWAY=192.168.1.1
  8. USERCTL=yes
  9. 只选一个dns
  10. ONBOOT=yes[root@MagicLinux network-scripts]# cat /etc/resolv.conf
  11. # Created by MagicLinux First Wizard
  12. 选择添加两个dns
  13. nameserver 202.102.134.68[root@MagicLinux network-scripts]# cat /etc/resolv.conf
  14. # Created by MagicLinux First Wizard
  15. nameserver 202.102.134.68
  16. nameserver 202.102.128.68[root@MagicLinux network-scripts]#
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2009-12-25 12:01:32 | 显示全部楼层
在ConclusionPage 和DNSCfgPage 点击下一步的时候就更改了配置文件。 大家帮忙测试下多网卡能不能成功。
配置前先备份配置文件o,我不负责任
/etc/sysconfig/network-script/ifcfg-eth*
/etc/resolv.conf

给不做Qt开发的补充一下编译命令:
在目录下执行:
qmake
make
然后运行那个可执行文件就可以了。(magiclinux有qt开发环境)

[ 本帖最后由 zy_sunshine 于 2009-12-25 12:57 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-12-25 18:51:35 | 显示全部楼层
楼主肯接手继续修改我已经很感动了...
说实话,我现在不做,那就随便楼主怎样改吧~

我一路 next 怎么在 conclusion page 就过不过去了呢.....
另外建议使用 qwizard 内建的共享变量数据的方式,免去全局变量这个东西 ----- registerField。
for 循环感觉应该不是必须的吧。。
建议而已,随楼主的意愿啦~
回复

使用道具 举报

发表于 2009-12-25 19:02:25 | 显示全部楼层
conclusion过不去,是因为那个地方点击下一步的时候就要修改配置文件了,,可能是没有权限Write/Read文件吧。

我其实就想实现动态配置多个网卡功能,因此for循环,,我还没有方法去掉。
回复

使用道具 举报

发表于 2009-12-25 19:10:34 | 显示全部楼层
registerField只能注册widget?
void QWizardPage::registerField ( const QString & name, QWidget * widget, const char * property = 0, const char * changedSignal = 0 )  
我也想注册内建的共享变量数据......

再就是,,我没找到判断一个字符串是否已经被registerField了,如果这个能判断的话,就可以多个网卡,前前后后前前后后反复修改了。现在如果forward过了StartCfgPage页面,再next回来的时候原来写入的信息由于二次注册共享数据而抹掉了。
回复

使用道具 举报

发表于 2009-12-30 00:38:49 | 显示全部楼层
这个东西要加上吗?
回复

使用道具 举报

发表于 2009-12-30 00:41:38 | 显示全部楼层
这个东西,haulm的mxd2,和stronghill的ip修改器,以及我正在移植的无线网络助手(基本快完了,不过测试还不充分),我准备统一写个前端的向导,在首次进入X时执行,原来那个console的宽带连接向导,不再在启动的时候出现,以避免出现键盘不能使用的问题。
回复

使用道具 举报

发表于 2009-12-30 09:58:07 | 显示全部楼层
mxd2我修改了一下,加入字体设置,指定成文泉驿字体,要不总觉得原来定义好的文本框太小了,字体发散了。
回复

使用道具 举报

发表于 2010-1-6 14:48:42 | 显示全部楼层
设置完成了没有重启动网卡.
网络配置这块看来rc2是完不成了,rc2中先使用半成品吧,rc2发布后再改。
回复

使用道具 举报

发表于 2010-1-6 17:57:24 | 显示全部楼层
现在再添加重启网卡这块来得及吗,如果来得及,我晚上就能加上。应该就是两行代码的问题
现在手上没有Qt编译环境,得晚上回去做了。
回复

使用道具 举报

发表于 2010-1-6 18:04:53 | 显示全部楼层
来得有。
直接用/etc/init.d/network restart就行了。
回复

使用道具 举报

发表于 2010-1-6 18:09:14 | 显示全部楼层
恩,知道了

为确保启动成功是否需要等待命令返回?? 例如加上一个对话框提示,如果超出n秒没有返回结果就当成重启失败
有必要吗?
回复

使用道具 举报

发表于 2010-1-6 22:30:40 | 显示全部楼层
汉化文件做好了但是wizard的每一个页面没有汉化,应该是页面加载的文件不对,一时间也没法处理。先这样吧,下一个版本完全汉化吧

我用的上面的命令
/etc/init.d/network restart
点击finish后程序一直等待这个命令执行完成。
如果不想等待是不可能的,因为执行命令是主程序的一个线程,点击finish后主程序退出,从而结束了子线程,所以只能等待命令执行完成,这样会导致程序假死。

还有一个方法是写一个bash,system去调用bash。这样会跳出黑色命令窗口...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2010-1-6 22:32:03 | 显示全部楼层
就在wizard.cpp文件中
sejishikong大哥方便就自己改吧
void Wizard::accept()
{
    // finish TODO:
    QProcess p(NULL);
    p.start("/etc/init.d/network", QStringList() << "restart");
    p.waitForStarted();
    p.waitForFinished();
    QDialog::accept();
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 14:20 , Processed in 0.095084 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表