2011-12-11 1 views
1

Qtが新しく、今はtrolltech tutorialで遊んでいます。QLCD番号の厚さを設定する

私はsetPaletteメソッドを使用してQLCDNumber 背景をカスタマイズするために管理しますが、私はを変更するように見えることはできません。私はないので、setFontメソッドを使用することはできませんので、私はsetBrushを試みたが、まだ進捗状況はないことを理解しています。

どういうわけか厚みを設定できますか?そうでない場合、理由を理解するのを手伝ってください。


編集

@webclecticが指摘するように、paintEventを再実装する必要があります。しかしdrawStringが呼び出され、が呼び出され、drawSegmentQLCDNumberPrivateクラス(??)see sourceになります。私はそれを再実装する方法は知らない:どのメソッドも仮想ではないので、私はそれらをすべて書き直さなければならないだろうか?クラスを完全に書き直す以外の方法はありますか?

+1

あなたができることは、すべてのクラスをコピーして名前を変更し、あなたが望む機能を追加することです。 QLcdNumberはQtの最古の部分の1つで、新しいクラスが持つ便利な関数の多くが欠けています。 – pnezis

答えて

2

LCD番号の幅がハードコードされているので、あなたが望むものを達成できないと思います(これはthreadにチェックしてください)。

1つの解決策は、QLcdNumberをサブクラス化し、paintEventを再実装して希望する幅を指定することです。

関連する問題