• 9864阅读
  • 8回复

tableview不显示内容 [复制链接]

上一主题 下一主题
离线seesea
 
只看楼主 正序阅读 楼主  发表于: 2009-04-18
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
  1.     model = new QStandardItemModel(4,7);
  2.     model->setHeaderData(ord_project,Qt::Horizontal,tr("项目"));
  3.     model->setHeaderData(ord_standard,Qt::Horizontal,tr("规格"));
  4.     model->setHeaderData(ord_weight,Qt::Horizontal,tr("克重"));
  5.     model->setHeaderData(ord_amount,Qt::Horizontal,tr("数量"));
  6.     model->setHeaderData(ord_price,Qt::Horizontal,tr("单价"));
  7.     model->setHeaderData(ord_subtotal,Qt::Horizontal,tr("小计"));
  8.     model->setHeaderData(ord_remarks,Qt::Horizontal,tr("备注"));
  9.     /*for(int row = 0;row<4;++row)
  10.     {
  11.         for(int column = 0;column<2;++column)
  12.         {
  13.             QModelIndex index = model->index(row,column,QModelIndex());
  14.             model->setData(index,QVariant((row+1)*(column+1)));
  15.         }
  16.     }*/
  17.     ui->tableView = new QTableView();
  18.     ui->tableView->setModel(model);


简单说下,我用Qt设计师设计了一个界面,上面有一个Tableview
在MainWindow.cpp中 有以代码上内容 执行结果是 Tableview中仍然是什么都没有显示
如果在以上程序后加入 ui->tableview->show();
那么编译运行后 就会多显示一个tableview窗体 那个窗体中的tableview可以正确显示 栏目和内容
MainWindow窗体中的tableview仍然没有任何显示
请求帮助!!! 程序代码 JYorder.rar (879 K) 下载次数:35 程序代码包
离线cznc
只看该作者 8楼 发表于: 2009-08-18
mainwindow.cpp:25     ui->tableView = new QTableView();  该行注释掉即可
原因:ui->tableView 该句柄已经在ui_mainwindow.h中自动建立对象;(非要在此自定定义一个对象,估计还要处理一下;)

除了上述原因造成view无法显示model外,model如果是函数中局部变量 也会造这种问题;
离线seesea
只看该作者 7楼 发表于: 2009-04-18
谢谢,解决了。
虽然具体问题出在哪里,原理不是很明白,但效果总算有了。
离线20044454
只看该作者 6楼 发表于: 2009-04-18
你Connect.h 和connect.cpp 大小写不分  

你在mainwindow.h 和.cpp 中改下就可以了 没有你想的那么麻烦
让我做一个Qt的大牛!!!!
离线20044454
只看该作者 5楼 发表于: 2009-04-18
#include <QtGui/QMainWindow>

#include "Connect.h"

#include "ncus.h"

#include "history.h"

#include "ui_mainwindow.h"

class MainWindow : public QMainWindow, public Ui::MainWindowClass

{

    Q_OBJECT





MainWindow::MainWindow(QWidget *parent)

    : QMainWindow(parent)

{

    setupUi(this);

    connect = new Connect;

    model = new QStandardItemModel(this);

    model->setColumnCount(7);

    model->setHorizontalHeaderLabels(QStringList() << tr("项目") <<tr("规格"));


    tableView->setModel(model);
让我做一个Qt的大牛!!!!
离线seesea
只看该作者 4楼 发表于: 2009-04-18
感觉自己是有一点设置不到位
继续求救
离线seesea
只看该作者 3楼 发表于: 2009-04-18
有这句了
输入ui->可以检索出所有的模块
我找了一天,还在继续
这个东西完不成  没法继续了~!
离线chrisopal
只看该作者 2楼 发表于: 2009-04-18
ui->setupUi( this );
离线seesea
只看该作者 1楼 发表于: 2009-04-18
麻烦有经验的高手 指点一下
快速回复
限100 字节
 
上一个 下一个