新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt基础编程
>
如何动态布局窗体?
发帖
回复
返回列表
新帖
5993
阅读
7
回复
如何动态布局窗体?
[复制链接]
上一主题
下一主题
离线
ny13524
UID:42006
注册时间
2008-03-26
最后登录
2013-03-17
在线时间
21小时
发帖
49
搜Ta的帖子
精华
0
金钱
490
威望
50
贡献值
0
好评度
49
访问TA的空间
加好友
用道具
新手上路
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2008-08-21
— 本帖被 XChinux 执行加亮操作(2008-08-25) —
自己写好一个基于QGroupBox的自定义类,自定义的GroupBox里面有布局好的label和button
然后我想在在一个窗体上显示多个自定义的GroupBox,其个数不定,显示的个数由
数据库
中读取
怎样能动态生成自己写的类,能不能想数组那样应用
如果是数组的话,可以先定义一个大小char a[10],然后在函数中一个一个读取char
,这样实现
如果是自己类的话,怎样定义及调用?并且像GroupBox怎样动态布局?如果窗体固定显示2个,碰到需要显示3个怎么办?怎样能动态显示?
望高手指点?
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
icevi
UID:3741
注册时间
2006-02-16
最后登录
2018-01-24
在线时间
35小时
发帖
111
搜Ta的帖子
精华
0
金钱
1088
威望
110
贡献值
0
好评度
108
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
1楼
发表于: 2008-08-22
问题好多啊,其实都是基础问题,你多看几个QT的例子应该就明白了。
在需用添加新控件时,用
QGroupBox* newwi=new QGroupBox();
创建对象,再看你想要把它添加到哪个layout对象中,比如:
layout1->addWidget(newwi);
这样就能动态创建和在界面上显示了。layout对象能管理好它的显示位置和大小缩放这些事情(应该就是你说的动态布局的意思)。
如果不需要添加到layout中,就直接用new QGroupBox(this);或new QGroupBox(someParentWidget);,然后设定其大小和位置。
共
条评分
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
回复
举报
离线
ny13524
UID:42006
注册时间
2008-03-26
最后登录
2013-03-17
在线时间
21小时
发帖
49
搜Ta的帖子
精华
0
金钱
490
威望
50
贡献值
0
好评度
49
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
2楼
发表于: 2008-08-22
回 1楼(icevi) 的帖子
非常感谢1楼的指点
试了下可以在一个窗体上显示多个自定义的GroupBox
在这里我用了个for循环,根据需要的个数生成GroupBox
窗体布局的还可以
只是下一步要想在生成的GroupBox上传值时出现问题
由于自定义的GroupBox里面已经含有布局好的label和button,想单个更新GroupBox里面的label和button属性及显示值时,需要根据GroupBox名寻找所含label和button.在for循环里面每次生成的GroupBox实例名称都一样,如何操作呀?怎样定位呀?
共
条评分
回复
举报
离线
xuyantao
UID:39769
注册时间
2007-12-26
最后登录
2009-04-13
在线时间
64小时
发帖
79
搜Ta的帖子
精华
0
金钱
790
威望
80
贡献值
0
好评度
79
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
3楼
发表于: 2008-08-22
提供一个思路:每生成一个就把它放到一个链表里,给它命个名,以后就好找了
共
条评分
回复
举报
离线
liuchuanwen
UID:36303
注册时间
2007-09-14
最后登录
2012-11-20
在线时间
9小时
发帖
27
搜Ta的帖子
精华
0
金钱
270
威望
28
贡献值
0
好评度
27
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
4楼
发表于: 2008-08-22
findChild()
共
条评分
回复
举报
离线
ny13524
UID:42006
注册时间
2008-03-26
最后登录
2013-03-17
在线时间
21小时
发帖
49
搜Ta的帖子
精华
0
金钱
490
威望
50
贡献值
0
好评度
49
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
5楼
发表于: 2008-08-22
谢谢各位的回复,问题解决啦
共
条评分
回复
举报
离线
ny13524
UID:42006
注册时间
2008-03-26
最后登录
2013-03-17
在线时间
21小时
发帖
49
搜Ta的帖子
精华
0
金钱
490
威望
50
贡献值
0
好评度
49
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
6楼
发表于: 2008-08-22
感谢各位的关注,我把解决方法简单说下:
先在for循环内生成i个GroupBox实例
QVector存放生成的各个实例
把QVector中的各个实例取出重命名(或直接用QVector声明的对象vector
)
针对要更新的GroupBox进行操作
代码如下:
QVector<QMyGroupBox*> vector(4);
for(int i=0;i<num;i++)
{
QMyGroupBox * groupboxi=new QMyGroupBox(0);
vector
=groupboxi;
}
完毕
再次感谢各位的指点!
共
条评分
回复
举报
离线
icevi
UID:3741
注册时间
2006-02-16
最后登录
2018-01-24
在线时间
35小时
发帖
111
搜Ta的帖子
精华
0
金钱
1088
威望
110
贡献值
0
好评度
108
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
7楼
发表于: 2008-08-22
new QMyGroupBox后也可以用setObjectName给它设定名字的。
可以通过对象名来查找控件,可以试一下。
共
条评分
====================
www.bilive.com
BiForm BiReader BiChat
最爱QT和PYTHON
====================
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
机械CAD
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选