コンボボックスの横幅について
-
wrote on 16 Aug 2012, 01:12 last edited by
はじめまして。
Shihoと言います。現在、Qt Creator 2.4.1 でGUI 開発を行っています。
QCombobox で、以下のようにしたいと考えて
いるのですが、実現方法がわからず困っています。コンボボックスで▼をクリックしたときに、選択できる項目の
一覧がドロップダウンリストとして表示されます。このコンボボックスの幅よりも、長い文字列を追加したとき、
ドロップダウンリストでは、コンボボックス以上の文字は
隠れてしまいます。
▼をクリックしたときに表示されるドロップダウンリストの幅を
変えるにはどうしたらよいのでしょうか?コンボボックスを貼り付けるダイアログサイズの制約で、
コンボボックスの幅を広げられません。.Net の DropDownWidth プロパティのようなプロパティは
ありますか?以上、よろしくお願いします。
-
wrote on 16 Aug 2012, 03:33 last edited by
プロパティでの設定方法はありませんが、
http://qt-project.org/faq/answer/how_can_i_change_the_width_of_the_popup_list_in_my_combobox
を参考に QComboBox を継承して showPopup() を実装しなおしてみてください。
Qt 4.8 (Windows 7)で確認しました。 -
wrote on 17 Aug 2012, 01:50 last edited by
shihoです。
早速の回答ありがとうございます。
初心者の質問で大変申し訳ありませんが、再度2つ質問があります。
質問 1
QCombobox は、GUI デザイナで作成しています。
ISCombo というオブジェクト名の QCombobox を継承するには
どのようにすれば良いのでしょうか?質問 2
showPopup() は、ISCombo の highlighted シグナル発生時に接続する
スロット処理内でコールすれば良いのでしょうか?以上、よろしくお願いします。
-
wrote on 17 Aug 2012, 02:50 last edited by
A1
デザイナで独自のWidgetを使う場合、右クリックメニューの「格上げ先を指定...」を使用します。
詳細な手順については「 "Qt をはじめよう! 第19回: 独自ウィジェットを作成しデザイナで使用しよう":http://labs.qt.nokia.co.jp/2011/07/21/widget-propmotion.html 」を参照してください。A2
showPopup() を明示して呼び出したりする必要はありません。ポップアップウィンドウの表示が必要なときに自動的に呼ばれるメソッドなので、実装だけしてください。サンプルを https://dl.dropbox.com/u/28055943/customwidthcombobox.zip に置いておきます。
-
wrote on 17 Aug 2012, 05:22 last edited by
shihoです。
頂いたサンプルを基に作成したら、思い通りのことができました!
本当にありがとうございました。
1/5