QStringList head; head << "ID" << "生产订单号" << "开胶工单号" << "物料编码" << "生产总重" << "版本号" << "绑定机台" << "操作员" << "开始时间" << "结束时间"; QScroller *pScroller = QScroller::scroller(ui->tWidgetOrder); pScroller->grabGesture(ui->tWidgetOrder,QScroller::LeftMouseButtonGesture); ui->tWidgetOrder->setVerticalScrollMode(QListWidget::ScrollPerPixel); ui->tWidgetOrder->setColumnCount(head.count()); ui->tWidgetOrder->setHorizontalHeaderLabels(head); ui->tWidgetOrder->horizontalHeader()->setAutoScroll(true); ui->tWidgetOrder->setEditTriggers(QAbstractItemView::NoEditTriggers); ui->tWidgetOrder->setSelectionMode(QAbstractItemView::SingleSelection); ui->tWidgetOrder->setSelectionBehavior(QAbstractItemView::SelectRows); ui->tWidgetOrder->setColumnHidden(0, true);点击行数获取到id的值
时间: 2023-06-14 07:06:19 浏览: 73
您可以在`QListWidget`的`itemSelectionChanged`信号中获取所选行的`QListWidgetItem`对象,然后通过`QListWidgetItem`的`data`方法获取该行的ID值。示例代码如下:
```cpp
connect(ui->tWidgetOrder, &QListWidget::itemSelectionChanged, this, [this]() {
QListWidgetItem *item = ui->tWidgetOrder->currentItem();
if (item) {
int id = item->data(Qt::UserRole).toInt();
qDebug() << "Selected ID:" << id;
}
});
```
在设置行数据时,您可以使用`QListWidgetItem`的`setData`方法将ID值设置为`Qt::UserRole`属性,示例代码如下:
```cpp
QListWidgetItem *item = new QListWidgetItem();
item->setData(Qt::UserRole, id);
//设置其他列的数据
ui->tWidgetOrder->addItem(item);
```
相关问题
QStringList args; args << "/c" << command;
这段代码的意思是:定义了一个字符串列表 `args`,并向其添加了两个元素,分别是字符串 `"/c"` 和变量 `command`。其中 `"/c"` 是一个 Windows 系统下的命令行参数,表示执行完命令后关闭命令行窗口。而 `command` 可能是一个字符串类型的变量,包含了要在命令行中执行的具体命令。这段代码的目的是将命令行参数 `"/c"` 和要执行的命令拼接起来,传递给系统的命令行解释器执行。如果在 Linux 系统下,可能需要将 `"/c"` 改为 `"-c"` 或者直接省略。
QStringList转std::vector<std::string>
QStringList是Qt框架中的一个类,表示一个由QString组成的列表。std::vector是C++ STL中的一个类,表示一个动态数组。将QStringList转换为std::vector<std::string>可以使用以下代码:
```
QStringList qstrList;
qstrList << "one" << "two" << "three";
std::vector<std::string> strVec;
for (const auto& qstr : qstrList) {
strVec.push_back(qstr.toStdString());
}
```
首先定义一个QStringList对象,并向其中添加一些字符串。然后定义一个std::vector<std::string>对象。使用for循环遍历QStringList中的每个QString,将其转换为std::string并添加到std::vector<std::string>对象中。最终得到的strVec就是一个由QStringList转换而来的std::vector<std::string>对象。