Qt 怎样在运行时创建多个button

发布于 2021-11-23 00:11:29 字数 604 浏览 975 评论 11

举个例子详细说明问题:

比如说我需要首先获取我的博客的种类,然后为每个种类创建一个QPushButton,但是在程序运行之前,我不知道我需要多少种,所以需要在运行的时候动态的创建。

补充说明:另外一个例子:比如说我需要首先获取我的博客的种类,然后为每个种类创建一个string保存名称,这样我可以采用一个字符数组,a[0]=kind1,a[1]=kind2.但是这类似的方法好像不适用于qt创建button。

相似的例子:QQ好友列表:它先获取所有好友的数目和信息,比如54个,然后再列表中显示54个,而且右键每个好友,他都可以有对应的信息,我想实现的大概也就是这种效果。(只要可以实现这种效果,忽略上面这个问题也没关系)

先谢谢大家的解答

@TomShine @明天以后  @mickelfeng

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

奢华的一滴泪 2021-11-28 11:03:12

std::map<int,QPushButton> 动态new了放到map中,最后销掉。

南冥有猫 2021-11-28 11:02:15

我到处去问,然后有人说:

你应该去看看qt的MVC模型。然后我突然觉得好像这非常有道理

感谢1,2,3,4L的热心帮助 

明月松间行 2021-11-28 11:01:48

我也有过类似的想法: QList(QPushButton) = [btn1, btn2] 这样或许也行,不过我还没去试过。谢谢了

秉烛思 2021-11-28 11:00:43

用一个tuple的数组记录button变量和用于区分各个button的数据;或者做一个QPushButton的子类,在构造函数中记录区分用的数据

无边思念无边月 2021-11-28 10:57:44

听起来貌似可以,不过我还没去看,先谢谢了

三月梨花 2021-11-28 10:46:40

button.setproperty,可以使用一个slot,在slot中取sender的property,这样应该可以满足你的需求吧

因为看清所以看轻 2021-11-28 10:11:28

博客会有特定的ID

瀞厅☆埖开 2021-11-28 08:24:04

那你也要先读取你有多少个博客的种类才可以创建button吧,按你说的,你读取博客是以什么为标准的?你举的qq例子在读取好友时也一定是有配置文件读取的。

永不分离 2021-11-27 12:05:58

这样创建一个是可以,并且可以对这个button进行绑定特定的signal。但是如果有多个,那么我就不能对这些button分别绑定signal了,实际上,这样的话,我根本无法得到这些button各自的变量名。

虐人心 2021-11-26 16:07:06

回复
signal错了,是slot

无声静候 2021-11-25 15:03:24
layout=container.layout();
button=QPushButton("Label", container);
layout.addWidget(button);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文