Thread perlqt Qt::TableItem (Farbe in den Zellen) (1 answers)
Opened by data at 2004-12-17 23:05

data
 2004-12-17 23:05
#42688 #42688
User since
2003-08-26
10 Artikel
BenutzerIn
[default_avatar]
hi,

ich möchte die textfarbe in qtablezellen unterschiedlich farblich gestalten.

ich habe jetzt schon eine weile mit paint aus der klasse qt::tableitem hin-
& her probiert, mir will es einfach nicht gelingen! der text wird einfach
nicht farblich :-(

das w3 (google) bringt mich auch nicht weiter, da ich dies in perl mittels
dem Qt-modul realisieren möchte. folgendes beispiel habe ich in c# gefunden
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
class MyItem : public QTableItem
{
public:

MyItem(QTable *table,EditType et,const QString& text)
: QTableItem(table,et,text)
{
m_crBkg = Qt::white;
m_crTxt = Qt::black;
m_HorzAlign = Qt::AlignRight;
m_VertAlign = Qt::AlignVCenter;
}

void paint(QPainter* p,const QColorGroup& cg,const QRect& cr,bool selected)
{
int w = cr.width();
int h = cr.height();

if (selected && colSpan() == 1 )
{
p->fillRect( 0 , 0 , w , h , cg.brush( QColorGroup::Highlight ) );
p->setPen( cg.highlightedText() );
}
else
{
p->fillRect( 0 , 0 , w , h , m_crBkg );
p->setPen( m_crTxt );
}

p->drawText( 2 , 0 , w - 4 , h , wordWrap() ? ( m_HorzAlign|m_VertAlign |
WordBreak) : m_HorzAlign|m_VertAlign , text() );
}

QColor m_crBkg;
QColor m_crTxt;
Qt::AlignmentFlags m_HorzAlign;
Qt::AlignmentFlags m_VertAlign;
};

... aber meine c# kenntnisse sind nicht so doll :-(

könnte mir bitte jemand ein kleines beispiel in perl dazu geben?

cu...
daniel

View full thread perlqt Qt::TableItem (Farbe in den Zellen)