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来修改它的背景颜色和背景图片,这里我们把刷子设置为全透明的,就可以是透明的

设置透明方法2:

setStyleSheet("background-color:rgba(255,255,255,255)"); // 最后一个参数控制透明度

在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 {background-color:lightblue;color: black;padding-left: 4px;border: 1px solid #6c6c6c;}");    //设置表头字体,颜色,模式

FriendTable->verticalHeader()->setStyleSheet("QHeaderView::section {  background-color:skyblue;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 ()

QT QTableWidget中去掉默认自带的行号

使用QToolBox自动拖出来的QTableWidget控件中是自带行号的,有时候需要去掉,去年在做到这个地方的时候没有找到,今天找到了相关的方法,特记录下来。

如上,刚开始的时候左边默认自带序列号。

QHeaderView* headerView = table的名字->verticalHeader();
headerView->setHidden(true);

加上上面的代码,就可以去掉左边的行号了。

http://hi.baidu.com/buptyoyo/blog/item/bb8cab3d93817ec97d1e7143.html

设置行的默认高度

tableWidget->verticalHeader()->setDefaultSectionSize(height)

时间: 2024-10-08 12:21:51

QTableWidget的美化的相关文章

QTableWidget 使用及美化_QtableWidget_QtableView滚动条宽度及样式

//创建及属性设置m_tableWidget = new QTableWidget(this);m_tableWidget->setRowCount(10);m_tableWidget->setColumnCount(3);//m_tableWidget->setFrameShape(QFrame::NoFrame); //设置边框//m_tableWidget->setShowGrid(false); //设置不显示格子线//QPalette pll = m_tableWidge

CSS 美化复选框 - 无图片方式

今天和大家分享一个不使用图片美化复选框的方式.来看下效果图吧,如下是3种不同状态下的效果: 一. Html结构 <div class="check-wrap"> <input type="checkbox" class="icheck" id="icheck" /> <label for="icheck" class="ilabel"></lab

美化MFC 之调整静态文本的颜色 字体。 用于添加公司标题 联系方式 口号等数据

很多人都觉得自己的程序的界面不那么美观,往往VC默认产生的对话框比较单调, 因此很多人往往找到很多其它的控件对对话框进行美化修饰, 例如给静态控件设置字体,设置背景颜色等等, 其实这些完全可以由VC自己的WM_CTLCOLOR消息来完成! 一个对话框 假设叫A. 我们可以在他的 WM_CTLCOLOR 里面做一些事情 来达到 ,美化节目的效果. 下面代码就是调整 静态文本的颜色. //对话框 WM_CTLCOLOR 消息的响应函数 //OnCtlColor 这个函数的名字 猜测是 控件 颜色的消

【原创】android——SQLite实现简单的注册登陆(已经美化)

1,Main_activity的xmL配置 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.com/tools" 3 android:layout_width="match_parent" 4 android:layout_height="match_pa

JAVA程序生成XML文件的格式规范化,缩进,美化。

//开始把Document映射到文件 TransformerFactory transFactory = TransformerFactory.newInstance(); Transformer transFormer = transFactory.newTransformer(); transFormer.setOutputProperty(OutputKeys.INDENT, "yes"); //美化缩进!!!!!!!!!! //设置输出结果 DOMSource domSourc

win 10 主题 美化

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha ========= 桌面背景,锁屏背景,文件名字,色调,文件夹 详细信息 显示 设置, 等等,有很多操作,美化.获取更好的用户体验.

关于IIS上Yii2的Url路由美化

Yii2默认的路由是酱紫的 http://.../admin/web/index.php?r=site/login 心中理想的美化Url应该这样  http://.../admin/web/site/login 在指定模块的web目录新建web.config,复制粘贴下面代码就OK了! <?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer>

EasyUI 1.5.1 美化主题 EasyUI 1.5.1 Of Insdep Theme 1.0

本EasyUI 1.5.1 美化主题,拥有百度编辑器.cropper.Highcharts.justgage.plupload等各类适应本主题的第三方插件.右击新标签中打开可查看原图. 如对本EasyUI主题包有兴趣的伙伴可以加QQ群:184075694

界面美化.CStatic控件的美化(好多系列文章)

http://www.cnblogs.com/20090802/archive/2010/09/17/1829283.html 静态控件也是比较常用的控件,在VS开发环境中用的应该挺频繁的吧. 其实mfc中实现对窗口美化,主要依赖于重绘.static控件也是个窗口,windows为其留有自绘的权利,可以设置其样式为SS_OWNERDRAW,Windows就会把其绘制权利交给我们的代码,怎么绘制就看我们的代码了.mfc中更好的一种方式就是消息反射,省的自己来做这一步操作了,我们重载CStatic中