Cumartesi, Temmuz 15, 2006

QPainter nedir?

Düşük seviye (lov-level) boyama; örneğin widgetler üzerinde. Basit çizgilerden tutun da karmaşık şekillere kadar, paylar, chrods'lar çizmeye yarar. Ayrıca hizalanmış metin ve pixmapler de yaptırtabilinir.

Tipik kullanımı şöyledir:
-bir painter oluştur (contruct)
-kalemi ayarla (set pen)
-çiz
-painter'i yoket

Örneğin:
void SimpleExampleWidget::paintEvent()
{
QPainter paint( this );
paint.setPen( Qt::blue );
paint.drawText( rect(), AlignCenter, "The Text" );
}

Yapıcı:
QPainter ()
QPainter ( const QPaintDevice * pd, bool unclipped = FALSE )
QPainter ( const QPaintDevice * pd, const QWidget * copyAttributes, bool unclipped = FALSE )

QDirectPainter sınıfından türemiştir. Kullanımı basittir ve kullanabilceğiniz birsürü ayarları mevcuttur, iki nokta üstüste biri altta biri üstte:
-font() geçerli fontu döndürür. Eğer olmayan bir fontu set etmeye kalkarsanız qt ona yakın olan bir tanesini sizin için seçer.Başka bir deyişle font() sizin setFont() ile belirlediğiniz fontu döndürür. fontInfo() da aynı şeyi yaparmış.
-brush() şekillerin, mesala dairenin, doldurulmasında kullanılacak rengi veya paterni döndürür.
-pen() ise çizgilerde veya kenarlıklarda kullanılacak kalemin rengini veya stiple'ını döndürür.
bacgroundMode() "Opaque" veya "Transparent"dir bacgroundColor() kullanılsın veya kullanılmasın.
-bacgroundColor yalnızca backgroundMode() opaque iken ve pen() stiple iken uygulanabilir. Bu durumda stiple'daki arkaplan pixellerin rengini belirler.
-rasterOp() işlevi ise çizilen pixellerin halihazırda orada bulunanlar ile etkileşiminin nasıl olacağını söyler.
-brushOrigin() tiled brushların orijinidir, normalde pencere orijinidir.
-viewport(), window(), worldMatrix() ve birçoğu painter'in koordinat dönüştürme sistemini yapılandırır.
-hasClipping adından da anlaşılıyor.
pos() geçerli pozisyon, moveTo() ve lineTo() ile set edilen yer.

1 yorum:

Necdet Yücel dedi ki...

Bana haber vermeden blog olaylarına girmek ha! Tamam öyle olsun :'(