コンボボックスの横幅について
はじめまして。
Shihoと言います。
現在、Qt Creator 2.4.1 でGUI 開発を行っています。
QCombobox で、以下のようにしたいと考えて
いるのですが、実現方法がわからず困っています。
コンボボックスで▼をクリックしたときに、選択できる項目の
一覧がドロップダウンリストとして表示されます。
このコンボボックスの幅よりも、長い文字列を追加したとき、
ドロップダウンリストでは、コンボボックス以上の文字は
隠れてしまいます。
▼をクリックしたときに表示されるドロップダウンリストの幅を
変えるにはどうしたらよいのでしょうか?
コンボボックスを貼り付けるダイアログサイズの制約で、
コンボボックスの幅を広げられません。
.Net の DropDownWidth プロパティのようなプロパティは
ありますか?
以上、よろしくお願いします。
4 replies
プロパティでの設定方法はありませんが、
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)で確認しました。
A1
デザイナで独自のWidgetを使う場合、右クリックメニューの「格上げ先を指定…」を使用します。
詳細な手順については「 Qt をはじめよう! 第19回: 独自ウィジェットを作成しデザイナで使用しよう [labs.qt.nokia.co.jp] 」を参照してください。
A2
showPopup() を明示して呼び出したりする必要はありません。ポップアップウィンドウの表示が必要なときに自動的に呼ばれるメソッドなので、実装だけしてください。
サンプルを https://dl.dropbox.com/u/28055943/customwidthcombobox.zip に置いておきます。
You must log in to post a reply. Not a member yet? Register here!


