我正在寻找一个返回QTableWidget水平标题宽度的函数:在官方文档中进行深入研究后,我发现的唯一一件事是这样的,但是调试器在以下行向我发送了这个错误:
int section = table->horizontalHeader()->defaultSectionSize();
当然,我在构造函数中指定了ResizeMode:错误:无效使用不完整类型'class QHeaderView'
table->horizontalHeader()->setSectionResizeMode(QHeaderView::Interactive);
简介
QTableView::horizontalHeader
被声明为返回一个指向QHeaderView
的指针,问题是这个指针所指的定义没有在<QTableWidget>
中声明(更具体地说,在<QTableView>
中,QTableWidget包括);它只是前向声明。
编译器告诉你,你试图使用不完整类型,这意味着编译器不知道该类型的定义。
有一个指向不完整类型的指针是可以的,但是你不允许(也不能)访问它里面的任何东西。
解决方案
QHeaderView
的完整声明可以在<QHeaderView>
中找到,包含它,编译器就会满意了。
#include <QHeaderView> // <- required