• 9000阅读
  • 16回复

[提问]关于QWidget和文件系统的问题 [复制链接]

上一主题 下一主题
离线celia_jun
 
只看楼主 倒序阅读 楼主  发表于: 2011-07-28
我用designer设计了一个界面,里面有一个QWidget部件,包含了8个页面,每个页面功能都比较复杂,我希望能够分别用每个类来处理每个页面上的功能。但是每次调用界面都新建了整个window本身,我是新手,对文件系统和Qt都不太熟悉,希望高手来指教一下该如何实现我的这个想法呢?在线等,不胜感激~
离线jdwx

只看该作者 1楼 发表于: 2011-07-28
回 楼主(celia_jun) 的帖子
你自己都说了每个页面一个类。
用QtCreator新建设计师界面类,那就是一个页面。
再把这些个界面类组装起来,用QTabWidget或QStackedWidge。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线celia_jun
只看该作者 2楼 发表于: 2011-07-28
回 1楼(jdwx) 的帖子
哎。。我知道大概应该这么做,但是有个问题弄得我很迷糊;
1,我是用designer设计的整个窗口,包括tabwidget里面的8个tab页,上面的lineedit啊,button啊都是做好了的
2,我从别的窗口进入这个窗口的时候,每次都新建了整个窗口的类;
所以,既然已经新建了整个这个界面,我还如何把它们分成8个类呢??
求教了
离线jdwx

只看该作者 3楼 发表于: 2011-07-28
回 2楼(celia_jun) 的帖子
新建8个从QWidget派生的设计师界面类,在上面放控件。
再把8个Qwidget放到QTabWidget里
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线celia_jun
只看该作者 4楼 发表于: 2011-07-28
回 3楼(jdwx) 的帖子
不好意思,还没理解,我的意思是我那个总窗口上的7个tab上的控件在设计师里已经弄好的,我还怎么新建呢?
不好意思,可能问题有点弱啊,不过确实是好困扰我
离线wxj120bw

只看该作者 5楼 发表于: 2011-07-28
回 4楼(celia_jun) 的帖子
设计师设计的界面跟你用类新建的界面应该本质是一致的 你的疑惑是设计师用一个ui搞定所有的,而你需要用类需要写多个文件 是吧?
离线celia_jun
只看该作者 6楼 发表于: 2011-07-29
回 5楼(wxj120bw) 的帖子
差不多,我最疑惑的是,我用设计师设计了一个界面上有8个tab页里面也有控件,每次new出这个窗口的时候,控件啊啥的都是跟着new出来了,我还需要设计类 干嘛呢?但是我又想把这8个tab页功能分离开来
离线dbzhang800

只看该作者 7楼 发表于: 2011-07-29
你描述的其实就是,自定义控件,然后提升法应用到 designer 中。
离线wxj120bw

只看该作者 8楼 发表于: 2011-07-29
回 6楼(celia_jun) 的帖子
设计师设计的一个界面被转换后就是一个类,当你new时,肯定这个界面都出来。设计类跟设计师设计还是不一样的,在代码量,编译过程都不一样。为什么要分离,是要重用吗?
离线abcdlcq

只看该作者 9楼 发表于: 2011-07-29
QStackedWidget
离线celia_jun
只看该作者 10楼 发表于: 2011-07-29
回 9楼(abcdlcq) 的帖子
楼上的,QStackedWidget可以解决问题么?
离线celia_jun
只看该作者 11楼 发表于: 2011-07-29
回 8楼(wxj120bw) 的帖子
原因嘛很简单,因为我的8个tab页得功能相对独立,而且期间涉及比较麻烦的关系,所以想分开来一个个的类中比较好处理
但是设计师既然已经设计好了tab页以及上面的控件,我感觉是否不能拆分了。

感谢各位来此贴集思广益
离线dbzhang800

只看该作者 12楼 发表于: 2011-07-29
Re:回 8楼(wxj120bw) 的帖子
引用第11楼celia_jun于2011-07-29 13:50发表的 回 8楼(wxj120bw) 的帖子 :
原因嘛很简单,因为我的8个tab页得功能相对独立,而且期间涉及比较麻烦的关系,所以想分开来一个个的类中比较好处理
但是设计师既然已经设计好了tab页以及上面的控件,我感觉是否不能拆分了
感谢各位来此贴集思广益

当然能,而且还相当常用。我前面已经说了,你问题:就是自定义控件+提升(或插件)法
离线jdwx

只看该作者 13楼 发表于: 2011-07-29
回 11楼(celia_jun) 的帖子
我是喜欢把自己需要的控件组合在一起变成一个类,好添加新功能。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线celia_jun
只看该作者 14楼 发表于: 2011-07-29
回 12楼(dbzhang800) 的帖子
噢,听到你这么肯定的回答道,我很高兴!
可是我还是疑惑啊,我用设计师设计好的界面,8个tab页都集合在了一个窗口里。那么现在的问题就是,我该怎么分离呢?
每次我调用这个窗口,我就是继承了ui和QWidget以后直接就可以使用里面的100多个控件了。既然每次调用这个窗口都new出来了,我还怎么分离啊。。

哎。。问题可能有点绕口,还是希望听到你的意见
离线celia_jun
只看该作者 15楼 发表于: 2011-07-29
Re:回 11楼(celia_jun) 的帖子
引用第13楼jdwx于2011-07-29 19:35发表的 回 11楼(celia_jun) 的帖子 :
我是喜欢把自己需要的控件组合在一起变成一个类,好添加新功能。


我也喜欢这么操作,但是不会。。。嘿嘿
离线roywillow

只看该作者 16楼 发表于: 2011-07-29
既然你感觉用设计师设计的这个界面不太好处理
为什么不自己写代码来制作界面呢?
或者设计设和自写代码混合使用

至于怎么分离,在设计师中先留空放那些需要特殊处理的组件的位置,然后自己手写代码把这些位置根据需要填上就是了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个