将现有的QPushButtons集合转换为单个数组
Converting an existing set of QPushButtons to a single array
我是Qt和c++的绝对初学者,所以请原谅我。
我正在写一个桌面日历应用程序。我有42个按钮显示日期数字,其中,当点击,将提出一个编辑字段添加注释。这些钮扣已经做好了。它们都可以工作,但是为了便于编码,我想把它们放在一个数组中。谁能告诉我该怎么做?我已经搜索了文档,但我真的不懂。
提前感谢您的纵容
像这样使用Qvector:
QVector<QPushButton*> btns;
btns.append(oldbuttonname);
我建议循环遍历所有的按钮,而不是手动将它们一个接一个地放入。我的意思是摆脱你以前的按钮,并在QVector
中创建非命名对象。下面是一个例子:
QVector<QPushButton*> btns(42);
for (int i=0;i<btns.size();i++)
{
btns[i] = new QPushButton(/*constructor args*/);
}
//Access like this
btns[0]->member_name();
您可以创建小部件(指向小部件的指针)的数组或任何其他容器(如QVector),以将所有这些集合在一个地方。你既可以创建新对象,也可以分配已经存在的对象,例如:
QVector<QPushButton*> buttons;
buttons.append(new QPushButton());
最终对于你的已经存在的按钮:
QVector<QPushButton*> buttons;
buttons.append(ui->pushButton);
buttons.append(ui->pushButton_2);
//etc..
那么你就可以像访问数组的典型元素一样访问它们:
buttons[0]->height = 50;
buttons[1]->setVisible(false);
相关文章:
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 如何将可变参数模板转换为多个单个模板?(C++竞争编程调试模板)
- 将字符向量转换为单个字符串
- 将单个字符转换为 std::string 前缀 \x01
- 如何在 c++ 中将 2D 数组转换为单个字符串
- 将C字符串转换为单个整数
- 我通过迭代加法将二进制数转换为十进制并检查单个字符(请参阅代码)的方法有什么问题?
- 允许对单个值进行隐式转换
- 从字符串中提取单个字符并将其转换为 int
- put_time具有转换说明符,该转换指定符,该指定符在一个月的单个数字上输出没有前面字符的单位天数
- 输入到字符串流并在单个语句中转换为字符串.可以没有帮助程序类
- 如何将单个字符转换为为基本密码哈希器设置整数,C++
- 如何将单个位转换为字符
- 使用类继承将单个喜欢的列表转换为双向链表
- 如何将char表中的单个炭转换为int
- 在什么基础上,由单个元素组成的参数包的折叠表达式被转换为未加括号的表达式
- 如何将双数组的单个元素转换为 QString
- 使用位操作将8字节数字中的每个字节中的一位转换为单个字节
- 快速将双重指针阵列转换为单个指针,可能是连续的
- 将IP地址转换为单个数字