如何从QToolBox中动态创建的QLineEdit中获取文本
How do you get text from dynamically created QLineEdit in a QToolBox?
我正试图在一个具有一定数量QLineEdit字段的QToolbox上创建可变数量的页面。页数及其名称由字符串向量决定。QToolbox的每一页都有两个QLineEdits。调用fillToolbox函数后,将调用printExtractedData函数。正如名字中所说,我只是想打印数据的std::string形式。
void fillToolbox(vector <string> toolboxLabels){
QLineEdit *l1, *l2;
QGridLayout *gridLayout;
for (int i = 0; i < numEntries; i++)
{
gridLayout = new QGridLayout;
l1 = new QLineEdit;
l2 = new QLineEdit;
QFrame *frm = new QFrame;
QLabel *l1Label = new QLabel("Field 1:");
QLabel *l2Label = new QLabel("Field 2:");
gridLayout->addWidget(l1Label, 0, 0);
gridLayout->addWidget(l1, 0, 1);
gridLayout->addWidget(l2Label, 1, 0);
gridLayout->addWidget(l2, 1, 1);
frm->setLayout(gridLayout);
ui.myToolBox->addItem(frm, QString(toolboxLabels[i].c_str()));
}
}
用户将输入添加到LineEdit字段。
void printExtractedData() {
int numPages = ui.myToolBox->count();
cout << numPages << endl;
for (int i = 0; i < numPages; i++)
{
string key = ui.myToolBox->itemText(i).toLocal8Bit().constData();
if (QWidget* wg = qobject_cast<QWidget*>(ui.myToolBox->widget(i))) {
QLayout *layout = wg->layout();
for (int j = 0; j < layout->count(); j++)
{
if (QLineEdit* le = qobject_cast<QLineEdit*>(layout->itemAt(j)->widget())) {
string text = le->text().toLocal8Bit().constData();
cout << le <<endl;
}
}
}
}
}
当我插入一个两元素列表时,我会收到输出:
2
00000245E5A77260
00000 245E5A76FE0
00000245E5A0A510
00000 245E5B17540
>
所需的结果是QLineEdit字段中内容的打印字符串
如有任何帮助或建议,我们将不胜感激。
刚刚意识到我打印的是le而不是文本。我本应该更加小心的。这是唯一的问题。
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- 从python中调用C++函数并获取返回值
- 如何获取一个数字的前3位
- 获取字符串的长度并将其分配给数组
- 无法获取菜单选择以运行函数.C++
- 数组长度,为什么从命令行获取时不能使用它?
- Boost Spirit,获取迭代器内部语义动作
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 具有默认值的引用获取函数
- 如何从QToolBox中动态创建的QLineEdit中获取文本
- 通过EventFilter到剪贴板获取QlineEdit的某些属性