You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Win32 C++项目的wWinMain中使用Qt QTableWidget?

在Win32 C++项目中使用QTableWidget的最简实现

前提准备

确保你的项目已经正确配置Qt开发环境:

  • 添加Qt的头文件目录到项目的附加包含目录
  • 添加Qt的库文件目录到附加库目录
  • 在附加依赖项中添加对应版本的Qt库(Debug模式加d后缀,比如Qt5Widgetsd.lib、Qt5Cored.lib;Release模式用Qt5Widgets.lib、Qt5Core.lib)

最简wWinMain实现代码

#include <QtWidgets/QApplication>
#include <QtWidgets/QTableWidget>
#include <QtWidgets/QTableWidgetItem>

int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
    // 初始化Qt应用程序
    int argc = 1;
    wchar_t* argv[] = { lpCmdLine };
    QApplication app(argc, reinterpret_cast<char**>(argv));

    // 创建QTableWidget实例
    QTableWidget table(3, 2); // 3行2列
    table.setWindowTitle(L"Qt表格测试");

    // 设置表头
    table.setHorizontalHeaderLabels({ L"姓名", L"年龄" });

    // 填充表格数据
    table.setItem(0, 0, new QTableWidgetItem(L"张三"));
    table.setItem(0, 1, new QTableWidgetItem(L"25"));
    table.setItem(1, 0, new QTableWidgetItem(L"李四"));
    table.setItem(1, 1, new QTableWidgetItem(L"30"));
    table.setItem(2, 0, new QTableWidgetItem(L"王五"));
    table.setItem(2, 1, new QTableWidgetItem(L"28"));

    // 调整列宽适应内容
    table.resizeColumnsToContents();
    // 显示窗口
    table.show();

    // 进入Qt事件循环
    return app.exec();
}

注意事项

  • 如果你的项目使用多字节字符集,需要将代码中的宽字符字符串(L"")改为普通字符串(""),同时确保Qt库也对应多字节版本(推荐使用Unicode字符集,与Qt默认配置一致)
  • 编译时若出现链接错误,检查是否遗漏必要的Qt库,或库的版本(Debug/Release)与项目配置不匹配
  • 无需额外创建Qt项目文件(.pro),依赖已通过Win32项目手动配置完成

内容的提问来源于stack exchange,提问作者Derek81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:13:15