• 5646阅读
  • 1回复

[提问]请教widget 嵌入到MainWindow父窗口问题 [复制链接]

上一主题 下一主题
离线uuhua
 

只看楼主 倒序阅读 楼主  发表于: 2013-01-23
看不到表格,高手指点下,谢谢。代码如下:
mainwindow.cpp
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
   dataView *viewData= new dataView;
    setCentralWidget(viewData);
    setWindowTitle(tr("Mail Client"));
    ui->setupUi(this);
}

dataview.cpp
dataView::dataView(QWidget *parent) :
    QWidget(parent)
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("10.35.12.211");
    db.setDatabaseName("wlh");
    db.setUserName("root");
    db.setPassword("rootme");//密码
    if(!db.open())
    {
        QMessageBox::critical(0,QObject::tr("Database Error"),db.lastError().text());
       // QMessageB
    }    
    enum
    {
        id   = 0,
        title= 1,
        year = 2
    };
    QSqlTableModel *model=new QSqlTableModel;
    model->setTable("cd");
    model->setFilter("year >= 1998");
    model->setSort(id,Qt::AscendingOrder);//排序
    model->setHeaderData(title,Qt::Horizontal,QObject::tr("标题"));
    model->setHeaderData(year,Qt::Horizontal,QObject::tr("年"));
    model->select();

    QTableView *dataView = new QTableView;
    dataView->setModel(model);
//    dataView->setItemDelegate();
    dataView->setSelectionBehavior(QAbstractItemView::SelectRows);

    dataView->show();

    QHBoxLayout *layout = new QHBoxLayout;
    layout->addWidget(dataView);
    setLayout(layout);  

离线uuhua

只看该作者 1楼 发表于: 2013-01-24
关键问题是在MainWindow类中,用setCentralWidget()设置主窗口的中央窗口部件为widget时,不起作用。为什么?
快速回复
限100 字节
 
上一个 下一个