zoukankan      html  css  js  c++  java
  • QTableWidget的使用和美工总结

    基本外观设置

    FriendTable->setFrameShape(QFrame::NoFrame);  //设置边框

    FriendTable->setHorizontalHeaderLabels(HeadList);  设置表头

    FriendTable->setSelectionMode(QAbstractItemView::SingleSelection);   设置选择的模式为单选择

    FriendTable->setSelectionBehavior(QAbstractItemView::SelectRows);    设置选择行为时每次选择一行

    FriendTable->setShowGrid(false);   设置不显示格子线

    FriendTable->setFont(font);   设置字体

    设置表单背景或透明

    QPalette pal = musicTable->palette();
        pal.setBrush(this->backgroundRole(),QBrush(QPixmap("images/background.png")) );
        musicTable->setPalette( pal );

    设置它的背景图片,也可以将QBrush初始化为QColor来设置背景颜色

    QPalette pll = musicTable->palette();

    pll.setBrush(QPalette::Base,QBrush(QColor(255,255,255,0)));

    musicTable->setPalette(pll);  //和QTextEdit一样,都可以使用样式表QPalette来修改它的背景颜色和背景图片,这里我们把刷子设置为全透明的,就可以是透明的


    在QTableWidget列表中添加图片的方法   
    QTableWidgetItem *cubesHeaderItem = new QTableWidgetItem(tr("Cubes"));
    cubesHeaderItem->setIcon(QIcon(QPixmap("1.png")));
    cubesHeaderItem->setTextAlignment(Qt::AlignVCenter);
     musicTable->setItem(1,1,cubesHeaderItem);   //在第一行第一列中显示图片

    *******************表头的属性修改****************

    musicTable->horizontalHeader()->resizeSection(0,150);  //修改表头第一列的宽度为150

     musicTable->horizontalHeader()->setFixedHeight(25);  //修改表头合适的高度

    musicTable->horizontalHeader()->setStyleSheet("QHeaderView::section {color: black;padding-left: 4px;border: 1px solid #6c6c6c;}");    //设置表头字体,颜色,模式

     FriendTable->verticalHeader()->setStyleSheet("QHeaderView::section {  color: black;padding-left: 4px;border: 1px solid #6c6c6c}");   //设置纵列的边框项的字体颜色模式等

    本来想找找QT里有没有现成的API的,结果没有找到,只能自己写了。
    实现也好实现,QTableWidgetItem里面有修改背景色的API,直接调用,然后用循环控制隔行换色即可。
    实现代码:
    void testtt::changeColor(QTableWidget *tablewidget){
    for (int i = 0;i < tablewidget->rowCount();i++)
    {
          if (i % 2 == 0)
          {
                for (int j = 0;j < tablewidget->columnCount();j++)
               {
                     QTableWidgetItem *item = tablewidget->item(i,j);
                     if (item)
                    {
                         const QColor color = QColor(252,222,156);
                          item->setBackgroundColor(color);
                     }
               }
         }
    }

    使用

    向表中插入一项

      QTableWidgetItem *num=new QTableWidgetItem(QTableWidgetItem::Type);
                num->setCheckState(Qt::Unchecked);   //加入复选框
                num->setIcon(QIcon("images/fetion.png"));  //加入ICon
                num->setText(InfoList.at(i).name);
                num->setFont(font);
                num->setTextColor(color);
                num->setFlags(num->flags() ^ Qt::ItemIsEditable);

                int currentRow=FriendTable->rowCount();  //插入到最后
                FriendTable->insertRow(currentRow);
                FriendTable->setItem(currentRow,0,num);  //插入该Item
                FriendTable->selectRow(0);   选择第一行

    删除某一行 列

    FriendTable->removeRow(row);

    FriendTable->removeColumn (column );

    信号

    void cellActivated ( int row, int column )
    void cellChanged ( int row, int column )
    void cellClicked ( int row, int column )
    void cellDoubleClicked ( int row, int column )
    void cellEntered ( int row, int column )
    void cellPressed ( int row, int column )
    void currentCellChanged ( int currentRow, int currentColumn, int previousRow, int previousColumn )
    void currentItemChanged ( QTableWidgetItem * current, QTableWidgetItem * previous )  改变Item了
    void itemActivated ( QTableWidgetItem * item )
    void itemChanged ( QTableWidgetItem * item )
    void itemClicked ( QTableWidgetItem * item )
    void itemDoubleClicked ( QTableWidgetItem * item )
    void itemEntered ( QTableWidgetItem * item )
    void itemPressed ( QTableWidgetItem * item )
    void itemSelectionChanged ()

  • 相关阅读:
    电影经典台词整理
    墨菲定律
    自我修养
    eclipse 点击 new window 后,关闭新增的窗口
    mysql 修改表结构以支持事务操作
    JavaScript高级程序设计学习笔记第六章--面向对象程序设计
    JavaScript高级程序设计学习笔记第五章--引用类型(函数部分)
    JavaScript高级程序设计学习笔记第五章--引用类型
    JavaScript高级程序设计学习笔记第四章--变量、作用域和内存问题
    JavaScript高级程序设计学习笔记第三章--基本概念
  • 原文地址:https://www.cnblogs.com/lvdongjie/p/4102513.html
Copyright © 2011-2022 走看看