問題タブ [qwidget]
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.
c++ - QWidgetの幅を設定するにはどうすればよいですか?
QWidget
幅の設定方法は?私はそれを行う関数を知っsetGeometry(QRect& rect)
ていますが、その場合はgeometry()
関数を使用して以前のパラメーターを取得しQWidget
、次に幅をインクリメントしてsetGeometry(..)を使用する必要があります。それを直接行う方法はありますか?
qt - Qt-QWidgetのレイアウトを変更します
他のウィジェットとレイアウトを含む名前付きのQWidget
とがあります。次のようなレイアウトとして設定されます。QLayout
general_layout
general_layout
QWidget
次に、の内容を変更する必要がありQWidget
ます。どうやってやるの?の新しいレイアウトを削除して作成しようとしましたがQWidget
、その新しいレイアウトセットをのレイアウトとして設定しましたQWidget
が、意図を正常に完了できませんでした。
これは私のコードです:
c++ - QWidget-アニメーションのサイズ変更
QHBoxLayout
2つQTextEdit
の秒があり、その間に右側に矢印の付いたボタンがあるとします。ボタンをクリックするとQTextEdit
、左側の境界線が右側の境界線に合うまで移動して、右側が徐々に閉じます。同時に、左の右の境界線は、右が解放QTextEdit
した場所になります。QTextEdit
そして、ボタンを押すと、システムの状態は前の状態になります。
編集:これを整理するために、私は次のことを行いました:
1)ヘッダーファイル内:
2)ソースファイル内:
編集:
そして、私は次の問題を抱えています:
2番目を閉じてQTextEdit
(ボタンをクリックして)、サイズを変更するMyWidget
と、QTextEdit
その状態が復元されます(ただし、もちろん閉じたままにする必要があります)。どうすればこの問題を解決できますか?
コードスニペットを教えてください。
c++ - QWidget の「maximumWidth」パラメータをアニメーション化できないのはなぜですか?
アニメーションを使用してレイアウト内のウィジェットのサイズを変更するために QWidget maximumWidth をアニメーション化したかったのですが、うまくいきません。私は次のことをしようとしました:
編集: minimumWidth プロパティの場合、アニメーションは機能しますが、 maximumWidth の場合 - いいえ。したがって、私は彼らのバグレポート サイトでバグを開いた: here。
qt - ウィジェットが現在 Qt Designer で実行されていることを知る方法
カスタム Qt ウィジェットのコードで、それが現在 Qt デザイナーでインスタンス化されていることを知るにはどうすればよいですか?
使用事例:
QPushButton、QLabel などのいくつかの子ウィジェットを持つ複雑なカスタム ウィジェットを作成します。
アプリケーションロジックが必要とするため、ウィジェットが作成されると、これらのサブコンポーネントのほとんどは表示されませんが、デザイン時にフォームに配置すると表示されます。
設計時にスタイル シートを操作できるようにするため。現在、私が得るのは空であり、コンストラクターの結果にすぎません-最小ビュー(私の場合は実際には空です)。
私が探しているのは、次のようなことができることです
では、このbool isRunningInDesigner()には何を入れればよいでしょうか?
c++ - Alt-Tabを実行しているときにGnomeが2つのウィンドウを表示しないようにするにはどうすればよいですか?(c ++ qtアプリ)
(編集を参照)
gnomeでQT/c++アプリケーションを開発しています。
アプリケーションのメインウィンドウとQListBoxの子ウィンドウ。
Altキーを押しながらアプリケーションから離れると、これらのウィンドウは両方とも別々のメインウィンドウとして表示されます。
私(または後でユーザー)がalt-tabを使用したときに1つのウィンドウだけが表示されるようにするにはどうすればよいですか?
この動作は、1つのメインウィンドウがサブウィンドウをクリップしないために発生すると推測しています。サブウィンドウはメインウィンドウの境界を拡張します。Gnomeは、他の多くのアプリケーションでもalt-tabの動作が悪く、メインウィンドウとは別にモーダルダイアログボックスが表示されます。しかし、私のアプリの場合、これは本当に迷惑です。
既存の両方の窓を含む巨大な透明な窓を作ることができると思います。しかし、「クリーンな」解決策を見つける方がよいでしょう。
(最も論理的な推測は、それがウィンドウフラグと関係があるということです。私は考えられるフラグのすべての合理的な組み合わせを試しました。ウィンドウタイプはここで説明されています)
編集:アプリのメインウィンドウ(QMainWindowではない)としてQWidgetがあります。QListViewはQWidgetオブジェクトに含まれており、メインウィンドウにポイントを渡すことで作成されます。Qt ::Tool|でスタイリングされています Qt::FramelessWindowHint。
Edit2: Qt :: X11BypassWindowManagerHintスタイルは、alt-tabリストからウィンドウを削除するために機能します。問題は、ウィンドウが「管理されていない」状態になり、他のウィンドウをカバーすることです。集中力を失ったときはいつでも手作業で隠れることができました。より良い解決策を今すぐ賞賛してください。
python - Qt:コンテキストメニューを中央ウィジェットに追加する最良の方法は?
Python と Qt を使用した高速 GUI プログラミングという本の中addActions()
で、メイン ウィンドウ( )を呼び出すことによって中央のウィジェットにコンテキスト メニューが追加される理由がわかりませんself
(p. 180):
は でself
あり、QMainWindow
はimageLabel
中央QLabel
のウィジェットとして設定されています。
では、メイン ウィンドウが何らかの方法で ( を介してself.addActions()
) 中央ウィジェットのコンテキスト メニューに関連付けられるのはなぜでしょうか? addActions()
中央のウィジェットで直接呼び出すだけで十分ではありませんか? 実際、以下はコンテキスト メニューを作成します。
本の例がコンテキスト メニューをこのようにしないのはなぜですか? self.addActions(…)
これは、より複雑な形式と同等ではありませんか?
PS : QMainWindow.addActions() のドキュメントには、最初の引数 ( self.imageLabel
、上記) についても言及されていないことがわかります! この本が最後のスニペットではなく上の最初のスニペットを使用している理由について、私は完全に迷っています… 助けて!:)
user-interface - 読み取り専用、スクロール可能、折りたたみ可能、アイコンリストに使用するQtウィジェット
私はQtに比較的慣れておらず、すぐに使用できるウィジェットに完全に精通しているわけではありません。作成するウィジェットはやや(それほどではありませんが)複雑で、ホイールを作り直したくありません。サブクラスの開始点として使用するのに最適なQWidgetや、ウィジェットの作成に使用するQWidgetsは何ですか。これが私が探している最終結果です(原油図面の謝罪):
キーポイント:
- すべてのアイコンは同じサイズ、たとえば128 x 128になります。カテゴリのグループ化を無視すると、すべてのアイコンが適切なグリッドに配置されます。
- ウィジェットは、それが取ることができるすべての水平および垂直領域を満たすように拡張する必要があります。水平方向に拡大/縮小すると、各行に表示されるアイコンの数が増減する場合があります。
- アイコンはグループ化されており、それらのグループは折りたたみ可能である必要があります。
- ウィジェットの高さがそのスペースを超えると、垂直スクロールバーが表示されます。
qt - QWidget を親の下に隠す方法は?
ボタンをクリックすると、モードレスの子 QDialog がその下からスライドします。私が抱えている問題は、アニメーション中に子が親の上にとどまることです。
親と重なっている子の部分にマスクを適用することで回避できると思いますが、子を親の下に配置するだけのより明白な方法が欠けているように感じます。
Qt4.5を使用しています。サンプルコードは次のとおりです。
前もって感謝します。
qt - 親ウィジェットのすべてのウィジェットをクリアするには?
コンストラクタを使用していQWidget(QWidget *parent)
ます。この親ウィジェットには、多くの子ウィジェットが含まれています。実行時に親からすべての子ウィジェットをクリアする必要があります。これどうやってするの?