加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

qt中从数据库中读取数据通过QTableWidget对象显示

(2014-05-15 09:13:08)
分类: qt编程

#include "../include/menu1.h"
FirstMenu::FirstMenu(QWidget *parent, Qt::WindowFlags f)
    :Mainmenu(parent,f)
{
    
    table->setSelectionBehavior(QAbstractItemView::SelectRows);
    table->setMouseTracking(true);
    table->setStyleSheet("selection-background-color:pink");

 
    showMenu();

    //connect(button2,SIGNAL(clicked()),this,SLOT(Order()));
    //connect(table,SIGNAL(cellChanged(int,int)),this,SLOT(checkChang(int,int)));

   
}
void FirstMenu::showMenu()
{
    
    totalset = 0;
    i = 0;

    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("menu.db");
    bool ok = db.open();
    if(ok)
    {
        query = QSqlQuery(db);
       if(query.exec("select * from t1"))
       {

          while(query.next())
          {
              showPage();
              totalset = totalset+1;
              i++;

          }
          label4->setText("共计 "+QString::number(totalset)+" 项");
          query.clear();
          db.close();
      }
      else{
         QMessageBox::about(this,"about",tr("select*不成功"));
       }
   }

   else{
     QMessageBox::warning(this,"waring",tr("数据库打开失败!"));

   }
}

void FirstMenu::showPage()
{

    int low = table->rowCount();
    table->insertRow(low);
    id = query.value(0).toInt();
    s1 = query.value(1).toString();
    s2 = query.value(2).toString();
    price = query.value(3).toInt();
    QTableWidgetItem *item1 = new QTableWidgetItem(QString::number(id));
    table->setItem(i,0,item1);                               //在表格第 i 行  第 1 列 添加 item1

    QLabel *labelpixmap = new QLabel();        
    labelpixmap->setPixmap(QPixmap(s1));
    table->setCellWidget(i,1,labelpixmap);         //在表格中添加图片

    QTableWidgetItem *item2 = new QTableWidgetItem(s2);
    table->setItem(i,2,item2);

    QTableWidgetItem *item3 =new QTableWidgetItem(QString::number(price));
    table->setItem(i,3,item3);

    checkbox = new QTableWidgetItem();              //在表格中添加checkbox
    checkbox->setCheckState(Qt::Unchecked);
    table->setItem(i,4,checkbox);
    table->setRowHeight(i,60);
}

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有