首页 > 代码库 > 给View换字体
给View换字体
注意,给View换字体是直接换。在Delegate里换的只是某一列的字体
class delegate : public QStyledItemDelegate{public:delegate(QObject* parent = 0) : QStyledItemDelegate(parent){}void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const{QStyledItemDelegate::paint(painter, option, index);}};int main(int argc, char* argv[]){QApplication a(argc, argv);QStringList list;list << "a" << "b" << "c";QListWidget w;w.setFont(QFont("Courier", 30));delegate d;w.setItemDelegate(&d);w.addItems(list);w.show();QListView lv;lv.setFont(QFont("Courier", 30));lv.setItemDelegate(&d);QStringListModel m;m.setStringList(list);lv.setModel(&m);lv.show();return a.exec();}
参考:http://www.qtcentre.org/archive/index.php/t-29871.html
-----------------------------------------------------------------------
Delegate里也能换字体,但换的是progress自己的字体(如果用到的话),并不对整个view起作用,例如:
void ProgressBarDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const{ if (index.column() == 3) { else { // good 这里换字体是换进度条(第三列)的字体,但是能起作用 painter->save(); painter->setFont(QFont("Times", 10, QFont::Bold)); return QStyledItemDelegate::paint(painter, option, index); painter->restore(); }}
------------------------------------------------------------------------
另外,设置QTableView的行高是:
QTtableView的verticalHeader()->setDefaultSectionSize(15),既可以放在构造函数里,也可以构造完毕后调用。
给View换字体
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。