2011-11-09 14 views
0

私はここにQtアプリケーションを持っています。ここには、5個のQPushButtonが縦に並べられたメインウィンドウがあります。 これらのボタンはラジオグループで動作します。 これは、チェック可能で自動排他的であることを意味します。 メインウィンドウのサイズ変更時にボタンテキストのフォントサイズを変更する必要があるため、QPushButtonの独自のオーバーライドを含めてデザイナーのカスタムウィジェットとして設定しました。Qtラジオボタンスイッチの表示遅延

私が理解できないことは、キーボードショートカットを使用してボタンを切り替えるときに重大な遅延があることです。マウスをクリックしたときと同じです。 この遅延は約0.5〜1秒と言います。 別のマシンで試しました。

私は本当にこれを取り除く必要があります!

誰でも私がこれを修正するために何ができるか考えていますか?

編集:ちょうど通常のQPushButtonsを使用しているときにこの動作が同じであることがわかりました。ボタンが大きくなっていると、遅延が増えているようです。どんな助けも強くありがとう!

+0

カスタムQPushButtonクラスは何をしますか?いくつかのコードを共有するのを忘れないでください。 –

+0

ボタンのサイズをそのサイズに比例して大きくします。 [リンク](http://stackoverflow.com/questions/8052201/increase-button-font-size-when-button-size-is-changing)私は実際に@Daveがそれを言いましたように実装しました。私は、ボタン上のテキストが常に中央に置かれていることをいくつか追加しました。しかし、私はそれを掲示すれば、文脈から少し外れると思う。 – guitarflow

+0

カスタムQPushButtonクラスで上書きした各メソッドの先頭に 'qDebug()<< Q_FUNC_INFO'文を入れてください。それらが時間のbazillionsと呼ばれていないことを確認してください。もしそうでなければ、問題は他の場所になければならない。 QPushButtonsを通常のQPushButtonsに変更しても問題はありますか?キーボードショートカットを使用している場合、またはマウスをクリックした場合は*のみ*ですか? –

答えて

0

暗闇の中でのショット:フォントを設定すると別のresizeEventが発生し、別のものが発生する可能性があります。フォント調整コードを、フルスクリーンに入る/離れるときに明示的に呼び出すメソッドに入れてみてくださいモード。

+0

アイデアのおかげで、私はすでにそれを試みました。 resiveEventは5回呼び出され、メインウィンドウのサイズが変更されたときに呼び出されます – guitarflow

関連する問題