zy_sunshine 发表于 2009-12-24 14:56:31

还有几个问题,关于配置ifcfg-ethx的
里面我是这样写的
DEVICE=eth0
BOOTPROTO=static
#BROADCAST=192.168.1.255
IPADDR=192.168.1.101
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
#HWADDR=00:0C:29:69:76:CA
USERCTL=yes
ONBOOT=yes
#TYPE=Ethernet
打#号的都是没做的参数,不知道BROADCAST参数不做可不可以,而且网段不同这个要与或出来的吧。nnd 我也懒得去与或了。
DEVICE=eth0
BOOTPROTO=dhcp
#HWADDR=00:0C:29:69:76:CA
USERCTL=yes
ONBOOT=yes
#TYPE=Ethernet
这个是dhcp的结构

zy_sunshine 发表于 2009-12-25 11:19:16

我把tcpipinfopage.cpp也去掉了。。sorry

配置前:
# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search
nameserver 202.102.134.68
nameserver 202.102.134.68
nameserver 202.102.128.68
# cat /etc/sysconfig/network-scripts/ifcfg-eth2
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=dhcp
HWADDR=08:00:27:86:b0:6b
配置后:
# cat /etc/sysconfig/network-scripts/ifcfg-eth2
# Created by MagicLinux First Wizard
DEVICE=eth2
BOOTPROTO=static
IPADDR=192.168.1.190
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=yes
只选一个dns
ONBOOT=yes# cat /etc/resolv.conf
# Created by MagicLinux First Wizard
选择添加两个dns
nameserver 202.102.134.68# cat /etc/resolv.conf
# Created by MagicLinux First Wizard
nameserver 202.102.134.68
nameserver 202.102.128.68#

zy_sunshine 发表于 2009-12-25 12:01:32

在ConclusionPage 和DNSCfgPage 点击下一步的时候就更改了配置文件。 大家帮忙测试下多网卡能不能成功。
配置前先备份配置文件o,我不负责任:mrgreen:
/etc/sysconfig/network-script/ifcfg-eth*
/etc/resolv.conf

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

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

nihui 发表于 2009-12-25 18:51:35

楼主肯接手继续修改我已经很感动了... :)
说实话,我现在不做,那就随便楼主怎样改吧~

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

zy_sunshine 发表于 2009-12-25 19:02:25

conclusion过不去,是因为那个地方点击下一步的时候就要修改配置文件了,,可能是没有权限Write/Read文件吧。

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

zy_sunshine 发表于 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回来的时候原来写入的信息由于二次注册共享数据而抹掉了。

zy_sunshine 发表于 2009-12-30 00:38:49

这个东西要加上吗?

sejishikong 发表于 2009-12-30 00:41:38

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

haulm 发表于 2009-12-30 09:58:07

mxd2我修改了一下,加入字体设置,指定成文泉驿字体,要不总觉得原来定义好的文本框太小了,字体发散了。

sejishikong 发表于 2010-1-6 14:48:42

设置完成了没有重启动网卡.
网络配置这块看来rc2是完不成了,rc2中先使用半成品吧,rc2发布后再改。

zy_sunshine 发表于 2010-1-6 17:57:24

现在再添加重启网卡这块来得及吗,如果来得及,我晚上就能加上。应该就是两行代码的问题:)
现在手上没有Qt编译环境,得晚上回去做了。

sejishikong 发表于 2010-1-6 18:04:53

来得有。
直接用/etc/init.d/network restart就行了。

zy_sunshine 发表于 2010-1-6 18:09:14

恩,知道了

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

zy_sunshine 发表于 2010-1-6 22:30:40

汉化文件做好了但是wizard的每一个页面没有汉化,应该是页面加载的文件不对,一时间也没法处理。先这样吧,下一个版本完全汉化吧:)

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

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

zy_sunshine 发表于 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();
}
页: 1 [2] 3
查看完整版本: qt4 宽带网络配置向导的半成品...