問題タブ [qlistwidget]
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 - カスタム アイテムとカスタム アイテム ウィジェットを含む QListView/QListWidget
PyQt アプリケーションを作成していますが、カスタム リスト ビューの作成に問題があります。リストに任意のウィジェット (特に 1 つのカスタム ウィジェット) を含めたいと思います。これについてどうすればいいですか?
別の方法は、スクロールバーにラップされたテーブルまたはグリッド ビューを作成することです。ただし、組み込みハンドルのネスト (ツリー ビュー) サポートと同様に、モデル/ビュー アプローチを利用できるようにしたいと考えています。
明確にするために、カスタム ウィジェットはインタラクティブ (ボタンを含む) であるため、ソリューションにはウィジェットをペイントする以上のことが必要です。
qt - QListWidget の項目のテキストの色を変更するには?
の項目の文字色を変更したいQListWidget
。
たとえば、一部のアイテムは赤いテキストで表示され、他のアイテムは青いテキストで表示されます。それ、どうやったら出来るの?ありがとうございました。
c++ - スクロールの代わりにサイズを変更するQListWidget
QListWidget
(一見任意の)高さを選択してスクロールバーを追加する代わりに、高さのサイズを変更するように、の動作をどのように変更しますか?スクリーンショットを参照してください:
'sは、QListView
水平方向にできるだけ多くのスペースを埋める必要があります(必要に応じて、できるだけ多くの「列」を作成します)。次に、すべてのアイテムに合うように、必要な数の行をラップして作成します。これらの計算は、ウィンドウのサイズが変更されるときに調整する必要があります。これはすべて正常に機能しています。
ただし、私がやりたいのは、高さを同じに保つのではなく、QListView
垂直方向に拡大または縮小し、スクロールバーを必要としないことです。スクロールは、必要に応じて、QWidget
すべてのラベルとリストをホストする親で処理されます。の高さQListWidget
が確立されると(デフォルトがどこから来ているのかわからない)、変更されることはないようです。大きすぎる場合(上記の2番目の「テスト」リストを参照)と小さすぎる場合(上記の最初の「空白のマップ」リストを参照)。
上記のレイアウトは驚くべきことではありません。2つQLabel
の'と2つQListWidget
の'が'QVBoxLayout.
に設定したプロパティはQListWidget
次のとおりです。
(私はすでに水平および垂直スクロールバーポリシーを設定しようとしましたが、それはスクロールバーをオフにし、コンテンツをクリップします。私が望むものではありません。)
python - QListWidjetのコンテンツをPyQt4を使用してQSettingとの間で保存およびロードするにはどうすればよいですか?
PyQt4アプリにQListWidgetがあります。フォルダパスが含まれています。その内容をQSettingsに保存し、後でロードしたいと思います。私はこれを行うためにこのコードを使用しました:
しかし、そうすると、フォルダのパスは次のように構成ファイルに保存されます。
だから私はそれらをロードする方法がわかりません。私はさまざまなバリエーションでこのようなものを試しました:
エラーを返します:
別の方法でデータを保存する必要があるようですが、今は保存しています。たくさんグーグルしたが、手がかりがない。答えは些細なことだと思いますが、行き詰まっています。
c++ - 文字列にクリックされたQTListWidgetアイテム
リストウィジェット内のアイテムのリスト内のアイテムをクリックしようとしています。
UIを右クリックして、スロットに移動しました。
そこでコマンドを実行できます...しかし、クリックした選択項目を文字列に設定したい... CONNECT / SIGNALルートを使用しようとしましたが、そこで空になりました。
理論的には次のようになります。QStringtext=ui-> listWidget-> itemClicked(); これは間違っていますが、私がやろうとしていることを表現していると思います。
これどうやってするの?
python - QListWidget と複数選択
QListWidget
私はいくつかの信号とスロットが接続された定期的なものを持っています。すべてが期待どおりに機能します。更新、取得、クリアなどを行うことができます。
ただし、UI は複数選択をサポートしません。
の複数選択を「有効」にするにはどうすればよいQListWidget
ですか? PyQt の経験が限られているため、QListWidget
サブクラス化してカスタムを作成する必要があることがわかりました..しかし、次は何ですか?
Google は C++ の回答をくれましたが、私は Python を探しています
http://www.qtforum.org/article/26320/qlistwidget-multiple-selection.html
http://www.qtcentre.org/threads/11721-QListWidget-multi-selection
qt4 - QListWidgetItemの強調表示
さまざまな色の長方形のアイコンでいっぱいのQListWidgetがあります。これは、アプリの色選択ダイアログとして機能します。添付の写真から明らかなように、適切に配置されていないため、それらのハイライトは好きではありません。
これを修正するにはどうすればよいですか?より良いハイライトのための一般的なアイデアも素晴らしいでしょう!
ありがとう、
サヤン
c++ - Qt/C++:QListWidgetItemがチェックされたときのシグナル?
私のフォームには、QListWidget
checkable を含む がありますQListWidgetItems
。QListWidgetItem
チェックされている/チェックされていないイベントをキャプチャする方法を探しています。このようなシグナルが存在することはわかりませんが、間違っている可能性があります。私が現在行っているのは、QListWidget::itemClicked()
信号を使用して のをチェックすることcheckState
ですQListWidgetItem
が、このイベントはチェックマークがトグルされただけでなく、アイテムがクリックされるたびに発生するため、これは私が望むものではありません。誰でも助けてもらえますか?ありがとう!
qt - ファイルを含むQListWidgetでドラッグを実装する方法は?
ファイル名を入力する QListWidget があります (パスのないファイル名はアイテムのテキストであり、完全なパスはアイテムのツールチップにあります)。たとえば、映画ファイルを QListWidget から VLC にドラッグできるようにしたいのですが、ファイル マネージャーからドラッグした場合と同じように、VLC が再生を開始する必要があります。
Drag&Drop のドキュメントを読んでみましたが、その方法がわかりませんでした。dragEnabled プロパティを true に設定し、dragDropMode プロパティを DragOnly に設定しました。これでドラッグを開始できますが、リスト項目を VLC にドラッグしても何も起こりません (これは当然のことです)。
c++ - QListWidget に 1 つのアイテムのみを表示する
QListWidget を継承し、カードのスタックを意図したクラスを作成しました。
カードをテーブル (プログラムの別のオブジェクト) にドラッグできるように、ドラッグ アンド ドロップ機能をオーバーロードしましたが、別の問題に遭遇しました。
QListWidget にはすべてのアイテムが表示されます (主に、最初から GUI に追加したためです)。
メインウィンドウで CardPile オブジェクトを初期化し、シャッフルされたカードのベクトルで埋めます。
ここで、QListWidget に 1 つだけを表示させたい (ただし、すべてのカードを含むグリッドを表示する)。
ドロップすると、QListWidget からアイテムを削除します。しかし、コードで一度に 1 枚のカードを追加および削除する必要があるかどうかはわかりません (そのため、もちろん 1 枚のカードしか表示されません)。
これらは私の CardPile の関数です: QListWidget.
それで:
現在、シャッフルされたカードのベクトルがメインウィンドウにあるためです (すべてのカードを forloop に追加します)。
または、mainwindow と CardPile の間を接続するシグナルとスロットを作成する必要があります。
次のカードをリストに追加するように指示する信号を送信しますか?
フィードバックありがとう