QT开发中文网

Qt C++ 对 QTreeWidgetItem添加子项名称为5.50mm-0.008Hz.csv,第二次添加子项名称为43.08mm-0.008Hz.csv,第三次添加子项名称为35.90mm-0.008Hz.csv,如何可以安装mm之前的数字从小到大拍寻 并且显示在QTreeWidgetItem上

要按照 “mm” 之前的数字从小到大排序并显示在 QTreeWidgetItem 上,可以采用以下方法:

// 获取当前选择的树节点
QTreeWidgetItem* currentItem = this->ui->treeWidget->currentItem();
if (currentItem) {
    // 创建新的子节点
    QTreeWidgetItem* childItem = new QTreeWidgetItem();
    
    // 子项名称
    QString itemName = "5.50mm-0.008Hz.csv";  // 假设第一次添加的子项名称
    
    // 提取数字部分并转换为浮点数进行排序
    double number = itemName.split("mm")[0].toDouble();
    
    // 设置子项文本
    childItem->setText(0, itemName);
    
    // 添加子项到当前节点
    currentItem->addChild(childItem);

    // 对当前节点的所有子项进行排序
    for (int i = 0; i < currentItem->childCount(); ++i) {
        for (int j = i + 1; j < currentItem->childCount(); ++j) {
            double num1 = currentItem->child(i)->text(0).split("mm")[0].toDouble();
            double num2 = currentItem->child(j)->text(0).split("mm")[0].toDouble();

            if (num1 > num2) {
                currentItem->insertChild(i, currentItem->takeChild(j));
            }
        }
    }
}

你可以在每次添加子项时使用上述代码,并将正确的子项名称赋值给 itemName 变量。这样,它会根据 “mm” 前面的数字进行从小到大排序,并将结果显示在 QTreeWidgetItem 上。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=8292

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?