吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 844|回复: 4
收起左侧

[求助] QT中编程实现如下几个功能:

[复制链接]
冥界3大法王 发表于 2023-4-17 21:14
本帖最后由 冥界3大法王 于 2023-4-18 05:45 编辑

有以下INI文件:
[美女]
NoteName=MeiMei
editBreakCondition=a
editLogText=b
editLogCondition=c
editCommandText=d
editCommandCondition=e
editSwitchCondition=f

[MeiMei]
editBreakCondition=aaa
editLogText=bbb
editLogCondition=ccc
editCommandText=dddd
editCommandCondition=eee
editSwitchCondition=ffff
NoteName=MeiMei


  • 按行读取+使用正则(因为我现在要把各自的小节名(美女 、MeiMei。。。)依次添加到ComboBox上(使用正则也行Replace[]替换掉也行!)
  • 支持中文等字符的读取(我下面的代码有问题哟~~ 倘若是中文则没有动静啊)
  • 当改变ComboBox选择时,设置各部分Edit上面的内容


以下是部分代码的实现:
[C++] 纯文本查看 复制代码
void SimpleTraceDialog::on_ReadINI_clicked()
{
    QString strPath = QCoreApplication::applicationDirPath();
    QDir dir(strPath);
    bool bSuccess = dir.cdUp();
    if (bSuccess == true) {
        strPath = dir.path() + "/";
    }
    QSettings *configIniRead = new QSettings(strPath + "config.ini", QSettings::IniFormat);
    configIniRead->setIniCodec("UTF-8");
    QString XiaoJieName = configIniRead->value("/" + ui->XiaoJieName->text() + "/NoteName").toString();
    ui->XiaoJieName->setText(XiaoJieName);


    QString editBreakCondition1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editBreakCondition").toString();
    //configIniRead->setIniCodec("UTF-8");
    ui->editBreakCondition->setText(editBreakCondition1);

    QString editLogText1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editLogText").toString();
    //configIniRead->setIniCodec("UTF-8");
    ui->editLogText->setText(editLogText1);
    QString editLogCondition1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editLogCondition").toString();
    ui->editLogCondition->setText(editLogCondition1);

    QString editCommandText1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editCommandText").toString();
    //configIniRead->setIniCodec("UTF-8");
    ui->editCommandText->setText(editCommandText1);

    QString editCommandCondition1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editCommandCondition").toString();
    //configIniRead->setIniCodec("UTF-8");
    ui->editCommandCondition->setText(editCommandCondition1);

    QString editSwitchCondition1 = configIniRead->value("/" + ui->XiaoJieName->text() + "/editSwitchCondition").toString();
    //configIniRead->setIniCodec("UTF-8");
    ui->editSwitchCondition->setText(editSwitchCondition1);
    delete configIniRead;
}

image.png
@evea 新问题来也
国际惯例配个图,好看些。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 冥界3大法王 发表于 2023-4-17 21:22
本来各自小节名是: 1 2 3 4 5 。。。。这样的读取还算OK
不过显得好弱智啊 。。。一点不专业。。。也不算更好用
fengdaokanhai 发表于 2023-4-17 23:50
本帖最后由 fengdaokanhai 于 2023-4-17 23:51 编辑

可以直接用输入框,设置标记,和几个框关联,标记改变就更新配置;
或者用listview就可以,然后设置值改变事件
淡淡灰黑色J 发表于 2023-4-18 09:30
使用comboBox的model,你可以看看qt的model/view,这个框架在界面开发中经常用到
evea 发表于 2023-4-18 09:40
QT我真不会呀  
不过中文配置文件改成unicode 试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表