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);


Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐