728x90

QAbstractItemModel을 적용하고 있는 View에 보여지는 폰트 변경하는 방법입니다.

 

일단 예시로 QAbstractItemModel을 상속받고 있는 QFileSystemModel을 상속받는 다른 클래스를 만들어 줍니다. 그리고 data 함수와 headerData 함수를 오버라이딩 합니다.

class MyFileSystem : public QFileSystemModel 
{
    QVariant data ( const QModelIndex& index, int role ) const;
    QVariand headerData (int section, Qt::Orientation orientation, int role ) const;
    ...;
};

data 함수를 통해 본문의 폰트를 수정, headerData 함수를 통해 가장 상단 header의 폰트를 수정할 수 있습니다.

QFont font;

QVariant data( const QModelIndex& index, int role )
{
    if ( role == Qt::FontRole ) {
    	return font;
    }
    
    return QFileSystemModel::data(index, role);
}
    
QVariand headerData(int section, Qt::Orientation orientation, int role ) 
{
    if ( role == Qt::FontRole ) {
    	return font;
    }
    
    return QFileSystemModel::headerData(section, orientation, role);
}

위 role에서 폰트 말고도 여러 enum 값을 통해 다양한 설정이 가능합니다.

 

Qt의 Model / View 관련한 다른 내용은 이 링크 참고 부탁드립니다.

 

Qt 4.8: Model/View Tutorial

Model/View Tutorial Every UI developer should know about ModelView programming and the goal of this tutorial is to provide you with an easily understandable introduction to this topic. Table, list and tree widgets are components frequently used in GUIs. Th

het.as.utexas.edu

 

728x90

+ Recent posts