問題タブ [qscrollarea]

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.

0 投票する
0 に答える
1670 参照

c++ - QLabel 画像をスクロールできません

私は、QLabel私が設定したこの画像を取得することに取り組んでおり、それは完全に正常に機能しています。スクロールするだけです。セットアップは理解できQScrollAreaますが、これは の一般的な使用法ではありませんQScrollArea

mainwindow.cppの横にスクロール領域を設定する必要がありQLabelます。これは、私が設定した領域であり、QLabelスクロールできるように設定したい場所です。

QScrollAreaプログラム全体を完全に制御し、すべての画像を表示することなく、作業を開始する方法がわかりません。

画像をスクロール可能にする必要があるだけです。コード例を教えてください。すべてを把握しやすくなります。よろしくお願いいたします。

PS私はスクロールがメインのウィジェットの上にあるのではなくQLabel、画像が入ったウィジェットだけにしたいです。

0 投票する
3 に答える
15615 参照

c++ - Qt QGridLayoutは、アイテムを自動的に中央に配置(移動)します。

フォームにQHBoxLayout3つのレイアウトが追加されています。2つ目は私の質問に関する項目です。

QVBoxLayoutメインレイアウトの2番目のペイン( )にがありQHBoxLayoutます。これに。QVBoxLayoutQScrollArea追加されていaddWidgetます。

これは、呼び出された「scrollContents」QScrollAreaの親であり、これには。が含まれます。QWidgetQGridLayout

QGridLayoutこれに、高さが固定されたカスタム作成のウィジェットを追加しています。今のところこれを考えることができ100pxます。

QGridLayout全高がフォーム自体よりも低いアイテムがある場合は、これらのウィジェットを同じ量のスペースで垂直方向に中央揃えにします。

ウィジェットが1つしかない場合は、真ん中に表示されます。しかし、私はそれらを上から下にリストしてほしい。

例:[###は、が付いている領域QScrollAreaQWidget表します QGridLayout

基本的に:9つの「行」のスペースがある場合、1つのアイテムを追加すると、5番目の位置の中央に表示されます。9個以上ある場合は、表示されます。8個以下の場合は、それらの間のスペースが拡張され、すべてが中央に配置されます。

どうすればこれを解決できますか?

ありがとうございました。

0 投票する
1 に答える
746 参照

c++ - Qtでは、背景画像の設定にsetStyleSheetまたはQPalette(Background、image)を使用する必要がありますか?

私はQtで開発するのはかなり新しいです。私はこの1週間、かなり多くのことを読んでいて、スタイルシートを使用して背景画像を設定すると「速度が低下する」問題が発生することがあると聞いています。

私は天才であり(皮肉)、QPalette.setBrush()メソッドを使用して背景を設定する方法を考え出しました。

私の質問は:

  • QWidget、QScrollAreaなどに背景画像を設定する場合、最高のパフォーマンス(および重要な場合は低メモリフットプリント)を実現するには、どちらの方法を使用する必要がありますか。

それが役に立ったら、私が使用している画像が繰り返されます。

0 投票する
1 に答える
11497 参照

qt - ウィジェットをオーバーフローさせてスクロールバーをQtに表示するにはどうすればよいですか?

私のウィジェットの構造は次のとおりです。

QWidgetは、境界線が丸いパネルになるようにカスタマイズされています。

余白のある境界線の内側にスクロールバーのある領域を含めるために、これを内側に配置します。

QVBoxLayoutを使用したQScrollArea(コンテンツを垂直に追加)

次に、その中に一連の:を追加します。

間隔が0のタイトルのQGroupBox、およびQFormLayout

フォームレイアウトが思ったように機能しません。内部のウィジェットは、ラベルとスピンボックスであり、すべてです。

これが画像です:

画像

初め。それらは中央に配置されていません。どうしてか分かりません。

2番。私が言ったように、それらはすべて同じ固定サイズが与えられていますが、とにかく積み重ねられており、押しつぶされていないので、お互いを隠しています。なぜそれはそのサイズのままではなく、親のQScrollAreaはスクロールバーを外側に表示しますか?それが私が欲しいものです。

中身をつぶしたり伸ばしたりしたくない。私は彼らが一番上にいることを望みます。画面が非常に大きい場合、パネルは長くなりますが、中身は常に同じサイズで上部に表示されます。


誰かがコードを要求したので、ここにコピーしますが、コードは本当に大きいです...もっと混乱していると思います。しかし、まあ、意味のない行を削除してください。そのボックスに表示される部分は次のとおりです。

今、すべてのスタイルシートが来ます:

0 投票する
3 に答える
2600 参照

qt - QtsureVisible()がQScrollAreaで機能しない

2列あります。列の1つはたくさんのQWidgetsで埋められています。ウィジェットを列にドロップすると、次のメソッドが呼び出されます。

最初の列の一番下にいて、次の列にウィジェットをドラッグしたとき。スクロールエリアは下に適切にスクロールするので、ドロップした場所を確認できます。

しかし、ウィジェットを最初の列に戻すと、スクロールしますが、完全に一番下まではスクロールしません。その約150px(編集:150pxは真実ではありません。ウィジェットの約5pxしか表示されません)

誰か助けてもらえますか?

編集:

私のレイアウトを知っておくといいかもしれません。

が付いたメインウィンドウがありQScrollAreaます。scrollAreaにはがQWidget呼び出されscrollAreaWidgetContents、QHBoxLayoutがあります。ウィジェットには5つの列があります。そして、これらにはドラッグアンドドロップウィジェット用のQVBoxLayoutがあります。

JEEZ別の編集:

私はそれが最後のアイテムでのみうまくいかないことに気づきます。

私はただ編集を続けます

スクロールバーが完全に下がっていないことは、今では明らかです。

このコードも同じ動作を示しています。このスレッドをどうすればよいですか?そして、私は新しいものを作成する必要がありますか?

0 投票する
1 に答える
750 参照

qt - QT で qscrollbar コンテキスト メニューを非表示にする方法

右クリックしたときに表示されるスクロールバーのコンテキスト メニューを非表示にするにはどうすればよいですか?

0 投票する
1 に答える
2000 参照

resize - QTreeView をコンテンツに合わせて自動的にサイズ変更する

QTreeViewその内容を自動的にサイズ変更しようとしています。これが私の設定です:うまく機能する「スマートな」ツール ヒントを作成しようQWidgetQt.Tool | Qt.FramelessWindowHintしています。WindowFlagsいくつかのボタン (サイズは一定) とQTreeView. QTreeViewこれで、のモデルに線が追加されるたびに、QTreeViewは自動的にサイズを大きくして、垂直スクロール バーを回避する必要があります。

QSizePolicy.Expandingツール ヒント ウィジェットと の両方を設定してもQTreeView何も変わりませんでした。追加のフラグか何かが欠落している可能性があります。

また、次のブルートフォース方式も試しました。

ほとんどの場合は機能しますが、常に機能するとは限りません。時々 (正確には 2 回目ですが、それが偶然かどうかはわかりません)、このコードを使用すると、ビューのサイズが正しく変更されます (つまり、すべてのコンテンツが収まり、スクロール バー) が表示されますが、スクロール バーは消えず、最後の行の下の空きスペースにスクロールできます。

0 投票する
1 に答える
204 参照

scrollbar - 垂直スペーサーを使用してウィンドウ内の QTableView を集中化する

テーブルを (垂直方向に) 中央に配置するために、上下に QSpacerItems を含む QTableView を含むメイン ウィンドウ (固定サイズ) を作成しようとしています。

(申し訳ありませんが、明らかに画像を投稿できません)。

QVBoxLayout があり、その中に垂直スペーサー、QTableView、および別の垂直スペーサーがあります。3 つのウィジェットすべてで QSizePolicy のすべての組み合わせを試しましたが、スクロールバーなしでテーブルを表示することはできません。(項目の数がメイン ウィンドウのサイズを超える場合に必要になるため、Qt.ScrollBarAlwaysOff は使用できません)。したがって、垂直スペーサーがビューとメインウィンドウの間の十分なスペースを吸収しているにもかかわらず、QTableView の垂直スクロールバーが表示されます。

行を一元化するために、垂直スペーサーがテーブル ウィジェットの上下に必要な最小限のスペースを占め、テーブル ウィジェットがスクロールバーなしでできるだけ多くの行を表示するようにします。

0 投票する
3 に答える
1051 参照

c++ - QTabWidget の QScrollBar + QScrollAera

私の質問は簡単です。QScrollArea に QScrollBar を設定するにはどうすればよいですか。私は多くのことをテストしましたが、何も機能しません... QScrollArea を QTabWidget に設定するのは問題でしょうか? コードは次のとおりです。

実際、QScrollArea (8 ~ 9 行の写真など) が作成されたタブに写真を追加しますが、表示されるのは 5 つだけで、残りは定義されたゾーンの外にある下部にあるため非表示になります。

何か案が ?ありがとう。