問題タブ [qt4]

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 投票する
7 に答える
3486 参照

qt4 - QTextEditで改行しないスペースが正しく表示されない

QTextEdit t; t.setHtml(" ");改行しないスペースの代わりに、アキュートアクセント付きの小さな「a」を表示します。これは、LinuxやFreeBSDではなくWindowsでのみ発生します。これを引き起こしているのは何ですか?Windows / Qtのバグ?どうすればこれを修正できますか?

(Windows Vista x64proのQt4.5。私のロケールはデフォルトの「C」です。)

更新:これはQt / Windowsのバグだと感じています(すでにバグレポートを提出しています)。私は回避策を作成しましたが、それは醜く、フォーマットのアルゴリズムを変更し<pre> </pre>、CSSで使用して目的の出力を生成する必要があります。

より簡単な回避策はありますか?

更新:&8194; および&8195; どちらも「wcm」で提案されているように機能します。これが他のユーザーにも機能すると想定しても安全ですか? &nbsp;動作しないことはおそらくまだバグですが、&8194; 許容できる回避策のようです(?)。

更新:重要なことを見逃していたことが判明し&nbsp;ました。Qt/ Windowsでは、「ターミナル」と呼ばれる、使用していた特定のモノタイプフォントでのみ正しくレンダリングされません。「LucidaConsole」(またはその他のフォント)に切り替えると、&nbsp;正しくレンダリングされます。早く気づいたらよかった!くそ。したがって、明らかにどこかにバグがあります(おそらくQtにあります)。しかし、少なくとも私にとっては別のフォントを使用することで問題が解決したことを気にしないでください。

更新:以前考えていたように、Qtのバグではありません。正しくレンダリングされない理由を知るには、&nbsp;Tewhaの回答を参照してください。

[解決済み]

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

c++ - 子タブが追加されたときに qtabwidget インスタンスを自動的にサイズ変更するにはどうすればよいですか?

子が追加されたときに子タブに合わせて QTabWidget を自動的にサイズ変更しようとしていますが、それができませんでした。Qt Designer を使用してフォームを作成し、次のように単一継承アプローチを使用してこれを継承しました。

QTabWidget があり、addTab() を使用して QTabWidget にオブジェクトのインスタンスを追加しています。QTabWidget を表示すると、MyWidget インスタンスに合わせてサイズ変更されていないことに気付きました。QTabWidget インスタンスのサイズが自動的に変更されるようにするにはどうすればよいですか?

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

c++ - Qt では、どのようにデリゲートを適切に実装しますか?

モデル/ビュー/コントローラーのパラダイムに従いました。モデルとビューが正しいと確信していますが、デリゲートで間違ったことをしていると思います。コントロールへの最初のクリックが「コントロールを点灯」し、2番目のクリックがそれと相互作用することを除いて、すべてが「機能」します。これは通常、デリゲートが実装される方法ですか? 私の実装には多くの構築と破棄 (scoped_ptr によって隠されています) が必要なので、それに関するヒントも役に立ちます。

0 投票する
7 に答える
13664 参照

c++ - C++ でデータを保存する最良の方法

私はちょうど C++ を学んでいて、QT をいじり始めたばかりで、ほとんどのアプリケーションがどのようにデータを保存するのか疑問に思っています。業界標準はありますか?それらは XML ファイル、テキスト ファイル、SQLite に保存されますか? 会計ソフトウェアが保存する必要があると言う機密データはどうですか? これのベストプラクティスが何であるかを学ぶことに興味があります。

ありがとう

0 投票する
11 に答える
29418 参照

command-line - Qt4 のコマンド ライン パーサー

Qt4 のコマンド ライン パーサーを探しています。

私は小さなグーグル検索を行い、これを見つけました: http://www.froglogic.com/pg?id=PublicationsFreeware&category=getoptただし、「--enable-foo」および「--disable-foo」スイッチのサポートがありません。それに加えて、それは本当の勝者のように見えます。

編集:

フロロジックがこれを削除したようです。したがって、私が見る最良のオプションは、Boost (API や ABI の安定版ではない) を使用するか、kdelibs のサポートをフォークすることです。わーい...

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

visual-studio - フィルターがディレクトリ構造を反映するようにqmakeでvcprojを作成する方法は?

qmake (Qt 4.5.1) を使用して vcproj ファイルを作成しています。出力 vcproj 用にカスタマイズされたフィルターを作成して、すべての *.h ファイルが "ヘッダー ファイル" フィルター、*.cpp などの "ソース ファイル" フィルターに収まらないようにしたいと考えています。

たとえば、ファイルを含むプロジェクト

のvcprojファイルが必要です

それ以外の

ありがとう!

0 投票する
8 に答える
12638 参照

user-interface - 個別のダイアログとしてではなく、別のウィジェット内でQColorDialogを使用するにはどうすればよいですか?

QColorDialogをダイアログウィンドウとしてではなく、レイアウトに挿入できるウィジェットとして使用したいと思います。(より具体的には、コンテキストメニューのカスタムサブメニューとして)

QColorDialogソースコードを調べたところ、おそらくQColorDialogの内部実装の一部をコピーしてこれを実現できましたが、これを行うためのよりクリーンな方法はありますか?Qt4.5.1を使用しています...

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

qt - Qt とダブル バッファリング - ピクセルをキャプチャしたり、バック バッファを操作したりするための巧妙なトリックはありますか?

アプリケーションを MFC から Qt に移行しています。

MFC アプリは、GDI 呼び出しを使用してウィンドウ (基本的にはグラフ プロット) を構築します。メモリ ビットマップ バック バッファーに描画し、それを BitBlt して画面に描画します。ただし、Qt はすでにダブル バッファリングを行っています。

ユーザーがグラフをクリックしてドラッグすると、ウィンドウのそのセクションが反転するようにしたいと思います。

これを行うための最良の方法を見つけたいと思います。画面ではなく、ウィジェットのバック バッファから取得するgrabWindow()のようなことを行う方法はありますか? ...多分 BitBlt(..., DST_INVERT) と同等ですか?

QPainter で setCompositionMode() を見ましたが、QImage で動作するペインターでのみ機能するとドキュメントに記載されています。(それ以外の場合は、反転効果のようなものを得るために派手な構成モードでウィジェットに塗りつぶされた長方形の画像を合成することができます)

QImage バック バッファにペイントする MFC と同じことを実行できますが、この方法ではハードウェア アクセラレーションが機能しない可能性があることを読みました。Qt で既に提供されているダブル バッファリングを再実装するのはもったいないようです。また、ウィジェットのダブル バッファリングをオフにした場合の副作用についてもよくわかりません (トリプル バッファリングを避けるため)。

ある時点で、それを保護する再帰防止フラグを使用した複雑な QPixmap::grabWidget() 呼び出しがありましたが、それはすべてを 2 回レンダリングし、QImage に描画するよりも明らかに悪いです。(そして、それは特にドキュメントで警告されています)

基本的にMFCで行ったように、あきらめてすべてをQImageに描画する必要がありますか?

編集:

さて、QPixmap ペインタは現在のダイレクトとほぼ同じ速度で実行されます。そのため、QPixmap バックバッファーを使用することがこれを行うための最良の方法のようです。

解決策は私には明らかではありませんでしたが、おそらくもっと多くの例 (Ariya の Monster デモなど) を見れば、予想どおりにコーディングしただけで、問題なく動作したはずです。

これが違いです。これを使用したヘルプ システムのデモを見ました。

paintEvent() の先頭。したがって、QPixmap へのダブル バッファリングを行ってから画面にペイントするには、次のようにする必要があることに自然に従うように思われました。

実際、明らかにこれを行うことになっている場合:

私のやり方には、同時に 2 人のアクティブなペインターがいたことがわかります。なぜ速いのかは完全にはわかりませんが、直感的には後者の方が好きです。これは単一の QPainter オブジェクトであり、一度に 1 つのことしか行いません。誰かが最初の方法が悪い理由を説明できるでしょうか? (Qt レンダリング エンジンの壊れた仮定に関して)

0 投票する
2 に答える
14956 参照

qt4 - Qt programname.exe がコード -1073741819 で終了しました。これを修正するにはどうすればよいですか?

Qt を OpenCV と統合しようとしています。

以下に例を示します: http www opendesktop org/content/show.php/Qt+Opencv+webcam+viewer?content=89995

しかし、機能:

終了エラー コード: 1073741819、次の場所:

..使用されています。

このエラーの発生を防ぐにはどうすればよいですか?