• 5757阅读
  • 1回复

qt中的表格,怎么让一列变颜色!哪位哥哥说说呀 [复制链接]

上一主题 下一主题
离线dym123_dym
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-17
qt做的表格,怎么让一列变颜色!并且列有拖曳的功能,即可以把第一列拖到第三列。



哪位哥哥说说呀?多多谢谢了
离线dym123_dym
只看该作者 1楼 发表于: 2009-11-19
我会了。class SpreadSheetItem : public QTableWidgetItem;
SpreadSheetItem  是QTableWidgetItem 子类


void SpreadSheet::setupContents()
{
    QColor titleBackground(Qt::lightGray);//green
    QFont titleFont = table->font();
    titleFont.setBold(true);

    // column 0
    table->setItem(0, 0, new SpreadSheetItem("Item"));
    table->item(0, 0)->setBackgroundColor(titleBackground);
    table->item(0, 0)->setToolTip("This column shows the purchased item/service");
    table->item(0, 0)->setFont(titleFont);
    table->setItem(1, 0, new SpreadSheetItem("AirportBus"));
    table->setItem(2, 0, new SpreadSheetItem("Flight (Munich)"));
    table->setItem(3, 0, new SpreadSheetItem("Lunch"));
                                                   table->setItem(4, 0, new SpreadSheetItem("Flight (LA)"));
    table->setItem(5, 0, new SpreadSheetItem("Taxi"));
    table->setItem(6, 0, new SpreadSheetItem("Dinner"));
    table->setItem(7, 0, new SpreadSheetItem("Hotel"));
    table->setItem(8, 0, new SpreadSheetItem("Flight (Oslo)"));
    table->setItem(9, 0, new SpreadSheetItem("Total:"));
    table->item(9, 0)->setFont(titleFont);
    table->item(9,0)->setBackgroundColor(Qt::lightGray);
    //===================================
    //column color
    for (int i = 1;i < 9; i++)
    {
        table->item(i,0)->setBackgroundColor(Qt::yellow);
    }
    //=========================================================
    // column 1
    table->setItem(0, 1, new SpreadSheetItem("Date"));
    table->item(0, 1)->setBackgroundColor(titleBackground);
    table->item(0, 1)->setToolTip("This column shows the purchase date, double click to change");
    table->item(0, 1)->setFont(titleFont);
    table->setItem(1, 1, new SpreadSheetItem("15/6/2006"));
    table->setItem(2, 1, new SpreadSheetItem("15/6/2006"));
    table->setItem(3, 1, new SpreadSheetItem("15/6/2006"));
    table->setItem(4, 1, new SpreadSheetItem("21/5/2006"));
    table->setItem(5, 1, new SpreadSheetItem("16/6/2006"));
    table->setItem(6, 1, new SpreadSheetItem("16/6/2006"));
    table->setItem(7, 1, new SpreadSheetItem("16/6/2006"));
    table->setItem(8, 1, new SpreadSheetItem("18/6/2006"));
    table->setItem(9, 1, new SpreadSheetItem());
    table->item(9,1)->setBackgroundColor(Qt::lightGray);
快速回复
限100 字节
 
上一个 下一个