qt和vstudio怎么实现通信?

用qt做了个类似于商场的ui,用vstudio来做到如购买人数和购买量的存储,怎么将vs上的数据导进去呢?

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7455724
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:vs2017结合qt开发,vs报错找不到库(解决方案)
  • 除此之外, 这篇博客: VS+QT创建的项目 UI界面更新控件,代码里识别不到中的 1. 每次用设计器打开ui文件,在里面添加或是删除一些空间之后进行重新编译,ui访问不到重新编译生成的ui_xxx.h里面的控件。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 具体解决办法:

    • 保存更新后的ui界面;
    • 回到VS界面,右键.ui文件,编译;
    • 项目名上右键,重新扫描解决方案;
    • 这时就可以识别到更新的控件了。
  • 以下回答由chatgpt基于相关博客总结生成:

    本问题涉及两个方面,一个是在Visual Studio中实现数据存储,另一个是在Qt中读取这些数据并进行展示。下面分别介绍具体实现步骤:

    在Visual Studio中实现数据存储:

    1. 首先要添加一个用于存储数据的文件,如txt文件。可以在Visual Studio中创建一个新的项目,选择Windows桌面下的空项目,然后添加一个txt文件用于存储数据。 可以使用以下代码将购买人数和购买量写入txt文件:
    #include <fstream>
    
    int main()
    {
        int people_num = 100; // 购买人数
        int buy_num = 200; // 购买量
    
        std::ofstream file("data.txt"); // 打开txt文件,如果文件不存在则创建新文件
        file << people_num << std::endl; // 将购买人数写入文件
        file << buy_num << std::endl; // 将购买量写入文件
        file.close(); // 关闭文件
    
        return 0;
    }
    
    1. 在项目属性中添加Qt的相关属性,具体方法如下:

    2. 在Visual Studio中打开刚才创建的项目;

    3. 在解决方案资源管理器中右键单击项目名称,选择“属性”;
    4. 在属性页中选择“C/C++”->“常规”选项卡,在附加包含目录中添加Qt头文件所在的目录;
    5. 在属性页中选择“连接器”->“常规”选项卡,在附加库目录中添加Qt库文件所在的目录;
    6. 在属性页中选择“连接器”->“输入”选项卡,在附加依赖项中添加需要链接的Qt库文件。

    7. 使用Qt提供的文件操作类可以实现读取存储在txt文件中的数据。在Qt中读取txt文件并获取其中的数据的方法如下:

    #include <QFile>
    #include <QTextStream>
    #include <QDebug>
    
    int main()
    {
        QFile file("data.txt"); // 读取存储数据的txt文件
        if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
        {
            qDebug() << "无法打开文件!" << endl;
            return -1;
        }
    
        QTextStream in(&file); // 将txt文件转换为文本流
        QString line = in.readLine(); // 读取第一行数据,并转换为QString类型
        int people_num = line.toInt(); // 将QString类型转换为int类型
        line = in.readLine(); // 继续读取下一行数据
        int buy_num = line.toInt();
        file.close(); // 关闭文件
    
        qDebug() << "购买人数:" << people_num << endl;
        qDebug() << "购买量:" << buy_num << endl;
    
        return 0;
    }
    

    在Qt中展示数据:

    1. 在Qt中设计一些控件用于展示数据,如QLabel和QLineEdit等。在UI设计中添加这些控件,例如:

    xml <label name="lbl_peopleNum" text="购买人数:"/> <label name="lbl_buyNum" text="购买量:"/> <lineEdit name="lineEdit_peopleNum"/> <lineEdit name="lineEdit_buyNum"/>

    1. 在Qt中通过setText()方法将读取的数据展示到对应的控件上,例如:

    c++ ui->lineEdit_peopleNum->setText(QString::number(people_num)); ui->lineEdit_buyNum->setText(QString::number(buy_num));

    需要注意的是,要在Qt的.pro文件中添加相关依赖库,例如:

    win32: LIBS += -L$$PWD/../../../../../path/to/dir -lxxx
    INCLUDEPATH += $$PWD/../../../../../path/to/dir
    DEPENDPATH += $$PWD/../../../../../path/to/dir
    

    其中,path/to/dir为Qt库文件所在的目录。

    以上就是在Qt和Visual Studio之间实现数据通信的具体实现步骤。如果在实现过程中出现了问题,如Qt路径问题等,可以结合参考资料中的相关内容进行解决。

不太理解你的意思,vs+Qt也可以构建一个项目