Cumartesi, Temmuz 15, 2006

QGridview nedir?

QGridview fixed-size ızgaralar için bir soyut (abstract) ana sınıf işlevini görür. Hücrelerin boyutu sabittir (fized). Sol üstteki hücre 0,0 iken sağ alttaki numRows()-1,nımCols()-1 olur.

numRows, numCols, cellWidth ve cellHeight tanımlanabilir. Hücre içeriğini çizdirmek için saf sanal (pure virtual) paintCell() işlevini yazmalıyız.

ensureCellVisible() ile belirli bir hücrenin görünebilir olması sağlanır. rowAt() ve columnAt() ile verilen x,y koordinatlarını kullanarak hücreyi buluruz.

ızgaranın dimensionındaki değişimleri gözlemek için dimensionChange() metodunu aşırı yüklemek gerekir.

QGridView QScrollView'i temel alan bir sınıftır. Bir çok eş boyutlu hücreyi ve kaydırılabilir pencerede çizmeye yarar. Eğer değişik boyutlu hücreler kullanılacaksa QTable kullanılmalıdır.

void QGridView::paintCell ( QPainter * p, int row, int col ) [pure virtual protected]
Bu saf sanal işlev belirli bir hücreyi boyamak için kullanılır. Her hücre için kendiliğinden çağırılır. Hücrenin güncellenme işlemlerinde de çağırılır. Bu fonksiyon çağırıldığında painter açık olmalı ve açık kalmalı.

void QGridView::paintEmptyArea ( QPainter * p, int cx, int cy, int cw, int ch ) [virtual protected]
p painterinin arkaplan rengi kullanılarak cw pixel genişliğinde ch pixel yüksekliğinde cx,cy den başlayarak dikdörtgen çizer.

Hiç yorum yok: