Qt 怎样在运行时创建多个button
举个例子详细说明问题:
比如说我需要首先获取我的博客的种类,然后为每个种类创建一个QPushButton,但是在程序运行之前,我不知道我需要多少种,所以需要在运行的时候动态的创建。
补充说明:另外一个例子:比如说我需要首先获取我的博客的种类,然后为每个种类创建一个string保存名称,这样我可以采用一个字符数组,a[0]=kind1,a[1]=kind2.但是这类似的方法好像不适用于qt创建button。
相似的例子:QQ好友列表:它先获取所有好友的数目和信息,比如54个,然后再列表中显示54个,而且右键每个好友,他都可以有对应的信息,我想实现的大概也就是这种效果。(只要可以实现这种效果,忽略上面这个问题也没关系)
先谢谢大家的解答
@TomShine @明天以后 @mickelfeng
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
std::map<int,QPushButton> 动态new了放到map中,最后销掉。
我到处去问,然后有人说:
你应该去看看qt的MVC模型。然后我突然觉得好像这非常有道理
感谢1,2,3,4L的热心帮助
我也有过类似的想法: QList(QPushButton) = [btn1, btn2] 这样或许也行,不过我还没去试过。谢谢了
用一个tuple的数组记录button变量和用于区分各个button的数据;或者做一个QPushButton的子类,在构造函数中记录区分用的数据
听起来貌似可以,不过我还没去看,先谢谢了
button.setproperty,可以使用一个slot,在slot中取sender的property,这样应该可以满足你的需求吧
博客会有特定的ID
那你也要先读取你有多少个博客的种类才可以创建button吧,按你说的,你读取博客是以什么为标准的?你举的qq例子在读取好友时也一定是有配置文件读取的。
这样创建一个是可以,并且可以对这个button进行绑定特定的signal。但是如果有多个,那么我就不能对这些button分别绑定signal了,实际上,这样的话,我根本无法得到这些button各自的变量名。
回复
signal错了,是slot