0

QFontDialogが1つしかない場合、2つ(またはそれ以上)のQFontの異なるフォントを変更するにはどうすればよいですか? どうすればもっと効率的にできますか?QFont ごとに新しい QFontDialog を作成するのは非常にばかげていると思います。

4

2 に答える 2

1

これを同時に行いたい場合は、フォームに 2 つの QFontDialog を追加する必要があります。それ以外の場合は、1 つの QFontDialog オブジェクトを使用しsetCurrentFont()て、ダイアログを表示する前に使用して現在のフォントを設定するだけです。

于 2013-06-13T16:20:37.970 に答える
0

そのため、QFont ごとに QFontDialog を作成するのは最適な方法ではありません (100 以上の QFont-s と QFontDialog-s が多すぎると、大量のメモリが必要になります)。より効率的 - QFontDialog および QFont 用の特定の SIGNAL-S および SLOT-s を作成します (私の状況では、QFontDialog から QFont 情報を受け取るのは FontChooser (変更された QLineEdit) です) 以下のように:

QObject::connect(&fontdialog, SIGNAL(font_selected(FontChooser *, const QFont &)), &fontchooser, SLOT(set_font_info(FontChooser *, const QFont &))); 
QObject::connect(&fontchooser, SIGNAL(clicked(FontChooser *, const QFont &)), &fontdialog, SLOT(show(FontChooser *, const QFont &)));

この質問を投稿したとき、Qtにはそれを行うための簡単な機能があると思いました。私が間違っているのでしょうか?:) 問題は解決しました。どうも。

于 2013-06-14T06:00:19.603 に答える