QT tablModel/View编程中,QTABLEVIEW的视图大小问题
MODEL继承自QAbstractTableModel,
VIEW使用的QTABLEVIEW。
就列的显示大小和弹簧问题,做了很多尝试。
现在基本可以达到满意效果。
tableView = new QTableView;
tableView->horizontalHeader()->setStretchLastSection(true);
tableView->horizontalHeader()->setResizeMode(QHeaderView::ResizeToContents);
tableView->horizontalHeader()->setResizeMode(4, QHeaderView::Stretch);
tableView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
tableView->setModel(model);
乱七八糟的入门知识
extern std::string onestr("exercise 3.5a"); 定义并初始化string类变量onestr,且初始化,因用了extern,只能出现在函数外部 除非特别声明,在全局作用域声明的const变量是定义该对象的文件的局部变量,不能被其他文件访问。可通过指定extern const使其他文件可以访问。 引用必须用同类型的对象初始化,且初始化后不能将该引用指向其他对象。 但const 引用则可以绑定到不同但相关的类型的对象或者右值。 int ival = 100; int &iival = ival; //ok int &errorss; //error int &temp = 100; //error,must be an object, 但const int &temp = 100没有问题 const int ival = 234; int &refval = ival //error,nonconst reference to a const object string对象和字符串字面值连接时,+操作符的左右两侧至少要有一个是string对象 使用const_iterator类型时,得到一个迭代器,它所指向的元素的值不可以改变,但可以改变迭代器自身的值。 不要把它与 const vector<T>:iterator xxx弄混。 两个迭代器相加的操作是未定义的 赋值表达式的值是其左操作数的值,其结果的类型是左操作数的类型。 习题5.19 假设ie 为vector<string>::iterator 类型的变量,指出下列表达式那些是合法的,并解释这些合法表达式的行为。 a,*iter++ b,(*iter)++ c,*iter.empty() d,iter->empty() e,++*iter f,iter++->empty 【解答】 a、d、f合法。 int x[10]; int *p = x; cout << sizeof(x) / sizeof(*x) << endl; cout << sizeof(p) / sizeof(*p) << endl; 非CONST引用行参,只能与完全同类型的非const对象相联。 默认实参只能用来提供函数调用缺少的尾部实参。例如 xxxx函数有三个默认实参,则 xxxx(, , 'y')非法