問題タブ [qcombobox]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 新しいアイテムを追加すると、QCombobox が他のウィジェットと重なる
この奇妙な動作が QComboBox で発生していることがわかります。コンテンツが変更されるとすぐに更新されません。この問題を示すために、サンプル コードといくつかのスクリーン ショットを示します。
初期ウィジェット
コンボボックスにアイテムを追加します(チェックボックスがどのように重なっているかを確認してください)
レイアウトとコンボボックスの更新と調整を手動でサイズ変更
アイテムが編集された後のコンボボックスとレイアウトで update() と repaint() を試しましたが、何の効果もありません。コンボボックスを再調整するには、ウィジェットのサイズを手動で変更する必要がありますか?? この問題の修正を知っている人はいますか??
ありがとうございました。
履歴書
python - PyQt4 QComboBox シグナルとスロット
コンボ ボックスが開かれ、ユーザーがキーボードの上下矢印を使用して項目を選択したときにアサートされる信号を作成する方法はありますか。これまでのところ、Qt4 リファレンスには、マウス クリックまたはリターン キーのヒット後にのみアクティブになるシグナルがリストされています。私は Highlight(int) を試しましたが、それは別のマウスクリックでしか機能しませんでしたが、上/下矢印を使用すると、クリックされた最初の項目のみが取得されます。現在強調表示されているインデックスは、self.ui.cb_dspBenchCmds.currentText() を介して返されるものだと思いました。
コードスニペットは次のとおりです。
ありがとう
デイブ
qt - QComboBox ドロップダウン リスト - 選択した項目のスタイルを設定
QComboBoxのドロップダウンリストの選択項目のスタイル(Qtスタイルシート)を設定することはできますか?
python - PyQt/PySide で QComboBox にアイテムを追加する方法
にいくつかのアイテムを追加するのに助けが必要QComboBox
です。そのため、2 つのコンボボックスがあり、選択したアイテムに応じて、1 つがもう 1 つに入力されます。
私の質問は、additem
新しいアイテムに使用すると機能しますが、コンボボックスに別のオプションを選択すると、新しいアイテムが追加されますが、以前のアイテムはなくなり、新しいアイテムの下に空白のアイテムがあります。
最初のコンボボックスから新しいオプションを選択するたびに、2番目のコンボボックスの内容をクリアすると思いました。だから私clear()
は2番目に使用しましたが、うまくいきませんでした。
それが私がそれを考えた方法です:
上記は、最初のcombobox
変更時に実行される関数の一部です。
python - pyqt4 QComboBox setEditable(True)-MaxLengthを設定する方法は?
データベースのVARCHAR(45)フィールドに関連付けられたQComboBoxがあります。
QComboBoxドロップダウンリストはデフォルト値のセットを提供しますが、それはEDIT対応であり、ユーザーはそれに何でも入力できます。
ユーザーエントリの長さを最大45文字に制限したい
QComboBoxには、QLineEditのようにsetMaxLength(int)がありません。
誰か提案がありますか?
ありがとう
qt - QComboBoxから特定の値が選択されている場合は、QSpinBoxを非アクティブ化します
QComboBoxで特定の値が選択されている場合、QSpinBoxを非アクティブ化することは可能ですか?私はいくつかのことを試しましたが、QSpinboxが常に非アクティブ化されているか、まったく非アクティブ化されません。
python - PyQt4:QComboBoxのcurrentIndexChangedシグナルをインターセプトできますか?
QComboBoxとQGraphicsSceneで構成されるUIを構築し、それがQGraphicsItemsです。
QComboBoxのインデックスを変更したら、QGraphicsSceneを更新してデフォルトに設定します。それを解決するために、ジオメトリ情報をノードに保存します。それはうまくいきます。
現時点では、QGraphicsItemsが変更されており、それらの地理情報が保存されていないことを確認したいと思います。したがって、UIは、ユーザーがそれらを保存する必要があることをユーザーに通知します。
QComboBoxを変更したときに発生するようにしたいので、それを行うには、currentIndexChanged信号をインターセプトする必要があります。これは、QComboBoxが実際にインデックスを変更する前に、フラグを読み取ってユーザーに何かを実行し、QComboBoxが前のインデックスに戻る地理情報を見逃さないことを意味します。
qt - NULL をサポートする QComboBox
QComboBox
Units テーブルから unit (オブジェクトの任意のプロパティ) を選択するために使用しています。問題は、データ モデル内のオブジェクトに単位がない (テーブル内の NULL) ことができないことです。この場合QComboBox
、値がリストの先頭に表示されます。「なし」を選択することはできません。
NULL サポートを追加するために何を提案しますか? 私はいくつかのバージョンを持っています:
- Units テーブルに「--」または「N/A」という名前の特別なレコードを挿入します。厳密には NULL ではありません - 独自の ID があります。
- モデルに項目を設定し
QComboBox
、手動でモデルを更新します。可能だが面倒 - さようならユニットリストの自動更新。
他に何が可能ですか - サブクラス化QComboBox
(何をオーバーライドしますか)? アイテムを制御するためにsetEditorData
似たsetModelData
ようなものは見当たりません。QAbstractItemDelegate
qt - スタイルQComboBoxポップアップメニューマージンQt 4
QComboBox のスタイルを何時間も試みた後、アイテムが挿入される上下の余白に行き詰まりました。
ポップアップ メニューの上部と下部の空白の背景色を削除または適用したいと思います。
QComboBox 画面 http://img576.imageshack.us/img576/3402/screenshot20120130at144.png
上下の矢印を表示しないように、QListView に min-height を追加しました。Qt ソースの QComboBoxPrivate クラスも調べましたが、上下のマージンがハードコーディングされているようです。
ご協力いただきありがとうございます。
編集済み:これはこれまでの私のスタイルシートです
python-3.x - ユーザーインタラクションをプログラムの変更から分離する:PyQt、QComboBox
PyQt4 / Python3 GUIにいくつかのQComboBoxがあり、初期化中にデータベースからのいくつかのエントリで埋められます。初期CurrentIndexは0に設定されています。コンボボックス内の項目の言語を変更するチェックボックスもあります。現在のユーザー選択を保持するために、現在のアイテムのインデックスをバックアップし、ComboBoxに翻訳されたアイテムを入力した後、CurrentIndexをこの番号に設定します。これらのアクションはすべて、currentIndexChangedシグナルを発行します。
QComboBoxesで選択された項目に基づいて、いくつかのプロットが表示されます。アイデアは、ユーザーがComboBoxの現在のアイテムのいずれかを変更するとすぐに、プロットをオンラインで再描画することです。そして、ここで問題があります。シグナルcurrentIndexChangedが発行されるたびにプロットを再描画すると、初期化中に何度か再描画し、変換チェックボックスの選択が変更された場合です。
これらのケースを分離するための最良の方法は何ですか?原則として、プログラムによる現在のインデックス変更をユーザーから分離し、後者の場合にのみプロットを更新する必要があります(GUIの初期化中に、プログラムでプロット更新関数を1回呼び出すことができます)。信号を書き込んだり書き直したりする必要がありますか?もしそうなら、私は以前にそれをしたことがなく、ヒントや良い例を歓迎します。別の信号を使用しますか?または、すべての信号を一時的にブロックする方法はありますか?