首页| 论坛| 消息

标题:自己写的日历,字符串转为变量名
作者:hanqiu
日期:2016-12-14 18:32
内容:

自己写了个日历,如图。

这上面有42个记录日期的label,名字分别item_0到item_41,每次改变label的颜色,或者初始化label就需要写42次,请问一下有没有方法像下面这样调用
for(int i = 0; i < 42; i ++)
{
QString str = QString("item_%1").arg(i);
怎么用字符串来调用变量呢?
}


#1 [nigoole 12-15 08:22]
用数组撒~~
#2 [zhuifengwy 12-15 08:27]
将这42个label 设置一个统一的属性 setProperty(x),然后通过qss样式表配置好其不同状态下的颜色,来统一控制 。最后想要更改的时候 通过调用setProperty,使能你刚才的自定义属性即可。
或者将这42个label放到一个frame里面,然后通过类似下面的语句进行设定
QList btns = ui->frame_main->findChildren();
foreach (QLabel * b, btns) {
b->setStyleSheet(x);
}
#3 [nigoole 12-15 09:01]
可以参考我的这个例子:
http://www.qtcn.org/bbs/read-htm-tid-60919-ds-1.html#tpc
#4 回 zhuifengwy 的帖子 [hanqiu 12-15 15:06]
zhuifengwy:将这42个label 设置一个统一的属性 setProperty(x),然后通过qss样式表配置好其不同状态下的颜色,来统一控制 。最后想要更改的时候 通过调用setProperty,使能你刚才的自定义属性即可。
或者将这42个label放到一个frame里面,然后通过类似下面的语句进行设定
QList
#5 回 nigoole 的帖子 [hanqiu 12-15 15:07]
nigoole:可以参考我的这个例子:
http://www.qtcn.org/bbs/read-htm-tid-60919-ds-1.html#tpc (2016-12-15 09:01) 
谢谢

回复 发表
主题 版块