QTableWidget美化细节
2015-10-10 09:21
411 查看
1)避免容器控件中点中元素时(如QTableWidget里点击某个item)出现虚线边框。
看看此帖:http://stackoverflow.com/questions/2055705/hide-the-border-of-the-selected-cell-in-qtablewidget-in-pyqt
测试可行
2)奇偶行底色不同,如果不包含子控件,恭喜你,非常容易
QPalette pal;
pal.setColor(QPalette::Base, QColor(255, 0, 0));
pal.setColor(QPalette::AlternateBase, BG_QColor(0, 255, 0));
table_wd->setPalette(pal);
table_wd->setAlternatingRowColors(true);
如果包含子控件,那就比较麻烦,要自己处理。
3)随着鼠标移动整行改变颜色,创建QTableWidget的子类,在其构造函数中:
setMouseTracking(true);
然后捕获处理cellEntered信号和覆盖leaveEvent方法。
在cellEnteredSlot中改变当前行的颜色,将之前行(若有)的颜色改回去。leaveEvent代表焦点离开,将之前选中行的颜色改回去
4)不显示横竖分割线
table_wd->setShowGrid(false);
看看此帖:http://stackoverflow.com/questions/2055705/hide-the-border-of-the-selected-cell-in-qtablewidget-in-pyqt
测试可行
2)奇偶行底色不同,如果不包含子控件,恭喜你,非常容易
QPalette pal;
pal.setColor(QPalette::Base, QColor(255, 0, 0));
pal.setColor(QPalette::AlternateBase, BG_QColor(0, 255, 0));
table_wd->setPalette(pal);
table_wd->setAlternatingRowColors(true);
如果包含子控件,那就比较麻烦,要自己处理。
3)随着鼠标移动整行改变颜色,创建QTableWidget的子类,在其构造函数中:
setMouseTracking(true);
然后捕获处理cellEntered信号和覆盖leaveEvent方法。
在cellEnteredSlot中改变当前行的颜色,将之前行(若有)的颜色改回去。leaveEvent代表焦点离开,将之前选中行的颜色改回去
4)不显示横竖分割线
table_wd->setShowGrid(false);
相关文章推荐
- QT中QImage读取GIF格式图像失败的…
- QT中用Qpainter的drawText方法程序…
- QT4.6中将QImage保存为JPG格式
- PyQt5程序(二)
- jqTransform美化表单
- win764 QTCreator2.8.0+Qt Open source 4.8.5环境配置(Win7x64)
- QT QSemaphore 线程同步
- qt获取当前时间以及日期
- QT多线程中的互斥与同步
- Qt Creator 3.2.1(基于QT5)解决无法输入中文
- qt 打印 QPrinter类
- QT 布局
- QT弹出消息框
- Qt多线程编程
- windows下完美的"免费"QT开发环境: QtCreator + VC2008Express
- QT工程文件的条件编译选择与额外的编译参数配置
- [置顶] Qt放大镜代码设计
- qt 中文显示问题.(用printf 输出QString 内容)
- Qt学习
- Qt5版本的例子去哪儿了?