找回密码
 注册
查看: 3860|回复: 44

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

[复制链接]
发表于 2009-12-20 13:13:49 | 显示全部楼层 |阅读模式
原本是不想把这半成品放上来的,但是看到置顶帖里又有人说键盘失效的问题,所以就忍不住放上来了。。。

我极度厌恶键盘失效的问题,首次启动到欢迎界面就卡住实在太不友好了。。。

半成品而已,只是个框架,可以识别网卡等设备,但是应用部分没有写,最近没空了,有人要接么,这样就可以把首次启动的欢迎界面转到 X window 里了。

本帖子中包含更多资源

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

×
发表于 2009-12-20 15:31:21 | 显示全部楼层
支持
stronghill也在写一个简单的修改ip的程序......
回复

使用道具 举报

发表于 2009-12-20 17:24:52 | 显示全部楼层
唉,我正好在出差,机器还给坏了,估计下下周才能继续做
回复

使用道具 举报

发表于 2009-12-20 23:26:31 | 显示全部楼层
几个问题:
1、DefaultGatePage 配置的默认网关要修改哪个文件,是否是/etc/sysconfig/network-scripts/ifcfg-eth*文件?
2、StartCfgPage地方是否要有一个选择配置哪个网卡,亦或在最后来个循环配置多个网卡。
3、TCPIPInfoPage页面是否想要显示配置前的网卡信息,如果是这样的话,可否在ConclusionPage页面后再加一个TCPIPInfoPage(finished)
回复

使用道具 举报

发表于 2009-12-21 11:16:18 | 显示全部楼层
还没有翻译,打开源码看了看。
回复

使用道具 举报

 楼主| 发表于 2009-12-21 12:18:12 | 显示全部楼层
原帖由 haulm 于 2009-12-21 11:16 发表
还没有翻译,打开源码看了看。


本来就是半成品。。。
回复

使用道具 举报

发表于 2009-12-23 10:12:17 | 显示全部楼层
nihui你现在正在做这个吗? 希望rc2 或者正式版中能加上这个。
回复

使用道具 举报

发表于 2009-12-23 20:06:53 | 显示全部楼层
我在accept里面处理field,在编译的时候出现错误。

  1. void Wizard::accept()
  2. {
  3.     QString defaultgateip=QWizard::field("defaultgateip").toString();

  4.     // finish TODO:
  5.     QDialog::accept();
  6. }

  7. [sunshine@MagicLinux magic_wizard]$ make
  8. g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt4/mkspecs/linux-g++ -I. -I/usr/lib/qt4/include/QtCore -I/usr/lib/qt4/include/QtGui -I/usr/lib/qt4/include -I. -I. -o wizard.o wizard.cpp
  9. wizard.cpp: In member function ‘virtual void Wizard::accept()’:
  10. wizard.cpp:43: 错误:invalid use of incomplete type ‘struct QVariant’
  11. /usr/lib/qt4/include/QtCore/qobject.h:66: 错误:forward declaration of ‘struct QVariant’
  12. wizard.cpp:43: 警告:未使用的变量‘defaultgateip’
  13. make: *** [wizard.o] 错误 1
  14. [sunshine@MagicLinux magic_wizard]$
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-12-24 00:23:40 | 显示全部楼层
原帖由 zy_sunshine 于 2009-12-23 10:12 发表
nihui你现在正在做这个吗? 希望rc2 或者正式版中能加上这个。


我现在没有做,最近两个月也不会做。。
楼上的错误只需在源文件里面加 #include <QVariant> 就能编译了。
回复

使用道具 举报

发表于 2009-12-24 00:33:22 | 显示全部楼层
我在考虑怎么做这个,但是有些地方非常棘手。现在就碰见一个。
如果我想要做一个多网卡的配置,每个网卡配置过程循环一次。
但是WizardPage不能往回跳转。所以页面不能重复用,这里有没有什么好的办法实现多网卡循环配置?
回复

使用道具 举报

 楼主| 发表于 2009-12-24 01:38:37 | 显示全部楼层
原帖由 zy_sunshine 于 2009-12-24 00:33 发表
我在考虑怎么做这个,但是有些地方非常棘手。现在就碰见一个。
如果我想要做一个多网卡的配置,每个网卡配置过程循环一次。
但是WizardPage不能往回跳转。所以页面不能重复用,这里有没有什么好的办法实现多网卡循环配置? ...


http://doc.trolltech.com/4.6/qwizard.html
参考 Creating Non-Linear Wizards 一节的部分
创建枚举值,重写页面的 nextId() 函数,返回要跳转目标的页面枚举值。
回复

使用道具 举报

发表于 2009-12-24 08:40:35 | 显示全部楼层

回复 11# nihui 的帖子

枚举值,这么多年了,终于用到这个东西了。谢谢nihui
回复

使用道具 举报

发表于 2009-12-24 09:29:38 | 显示全部楼层
QWizard::next: Page 1 already met
如果枚举不能动态定义,页面不能动态添加,还是不能达到循环配置网卡,页面还是不能重复使用。
Creating Non-Linear Wizards这一节用的页面也都是事先定义好的,只是走的顺序不同。

看样Qt真的不是太灵活o,在动态方面。如C++一样。
回复

使用道具 举报

 楼主| 发表于 2009-12-24 12:18:16 | 显示全部楼层
initializePage() 可以改页面内容的啊  
回复

使用道具 举报

发表于 2009-12-24 14:50:26 | 显示全部楼层
nihui 你看看我这个写的可以不,功能看看就好,里面写稍微有些麻烦,感觉很丑
而且改了你的页面次序和一点功能。
次序是这样的
  1.   
  2.     int pagecount=1;
  3.     setPage(pagecount, new IntroPage );pagecount++;
  4.     setPage(pagecount, new NetCardPage );pagecount++;
  5.     for(int i=0; i < netcardList.count(); ++i){
  6.         setPage(pagecount, new StartCfgPage );pagecount++;
  7.         setPage(pagecount, new TCPIPInfoPage );pagecount++;
  8.         setPage(pagecount, new TCPIPCfgPage );pagecount++;//我把defaultgateway页面放到这里面了。

  9.         setPage(pagecount, new RootlessPage );pagecount++;
  10.         setPage(pagecount, new BootActivatePage );pagecount++;
  11.         setPage(pagecount, new ConclusionPage );pagecount++;
  12.     }
  13.     setPage(pagecount, new DNSCfgPage );pagecount++;//我把dns放到最后来配置,配置resolve.conf文件
  14.     setPage(pagecount, new ThanksPage );pagecount++;
  15.     setStartId(1);
复制代码
如果实现多循环配置,必须先new好页面,所以我就用了一个for循环......还加了几个全局变量在wizard.cpp页面
我是在windows下做的,因为linux下创建工程的时候竟然没有标准empty工程 ....我手生得很,所以又去windows了
要修改的文件流都放在了QStringList lines;里面了,移到linux下只要把lines覆盖到文件就好了。

[ 本帖最后由 zy_sunshine 于 2009-12-24 14:52 编辑 ]

本帖子中包含更多资源

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

×
回复

使用道具 举报

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

本版积分规则

GMT+8, 2025-2-7 03:49 , Processed in 0.029870 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

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