如何在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
相关产品推荐
相关产品推荐

