問題タブ [qt5]

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

c++ - Qt Creator 2.6.1 + Qt 5 + C ++ 11+MSVC2010コンパイラ

Qtを使用してWindows上でC++アプリを構築しようとしています。

私の設定は次のとおりです。

  1. インストール済みVs2008、2010、2012
  2. Qt5RC1をインストールしました

#includeしてstd::unique_ptrを使おうとすると、定義されていないことがわかります。VS2010ヘッダーを調べて、_HAS_CPP0Xを定義する必要があることを確認したので、DEFINES +=_HAS_CPP0Xとして.proに追加しました。

これはまだ効果がなかったので、Ctrlキーを押しながら#includeメモリをクリックして、次のメモリヘッダーを使用していることを確認しました。

C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ VC \ include

本当にそこにstd::unique_ptrがありません!

確かにそれは見ているは​​ずです:

C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ include?

フルパスを介してメモリを含めると思いましたが、移動や右辺値の参照など、C ++ 11に関連する、含まれているメモリヘッダー自体のエラーで失敗します。

だから私が知りたいのは:

  1. QtonWindowsはVs2010でサポートされているC++11機能を使用できますか?
  2. はいの場合、どのように?
  3. いいえの場合、LinuxでクロスプラットフォームのQt 5アプリを開発することは、他のプラットフォーム用に構築することが不可能であるため、クロスプラットフォームではないことを意味することに非常に失望しています。

編集:

これに対する解決策は明らかです。Qt5のソースをダウンロードしてMinGWでビルドすると、すべて設定されます(受け入れられた回答のC ++ 11 proオプションを含む)。

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

c++ - Qt5ラムダ接続への新しい信号メモリリーク

新しいQt5シグナルとスロットの構文により、シグナルをスロットだけでなく、プレーンな古い関数やファンクター/ラムダにも接続できます。ここで問題となるのは、ラムダは本質的に()演算子を持つオブジェクトであり、シグナルをそれらに接続すると、それらはqt内部クラスのどこかにコピーされるということです。そして、そのファンクターからシグナルを切断すると、qt内部にとどまります。私は理解できません、それは正常な行動ですか?または、切断後にこれらの機能オブジェクトを破棄する方法はありますか?

次に例を示します。

スロットを切断した後の接続変数の強い参照カウントを見ると、2のままです。これは、ファンクターオブジェクト自体がまだ健在であることを意味しますが、今は役に立たないのです。私は何かが恋しいですか?

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

qt - プログレスフロントの周りのテキストの色が異なるプログレスバー?

QtからQProgressBarのテキストに対して次の効果を得るにはどうすればよいですか? :

プログレス バーの前面に異なる色のプログレス バー テキスト

アイデアは、プログレス バーの左側の部分を明るい色にする必要があるということです。

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

qt - Qt5およびQMLでQtQuick.Window要素を使用するには?

最近、Mac OS X 用の Qt5 RC2 をインストールし、いくつかの QML アプリケーションの開発を開始しました。新しい要素を見た後、特に Window と Screen 要素を試してみたいと思いました。(http://qt-project.org/doc/qt-5.0/qtquick/qmlmodule-qtquick-window2-qtquick-window-2.html)

したがって、次のようにファイルの先頭にインポートを設定します。

QtQuick 2.0
をインポートする QtQuick.Window 2.0 をインポートする

インポートは見つかりましたが、ウィンドウもスクリーンも使用できません。Screen または Window と入力するたびに、「不明なコンポーネント (M300)」というエラーが表示されます。

誰が問題が何であるか考えていますか?

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

unicode - QTextCodec::setCodecForCStrings は Qt5 でなくなりました

私のプロジェクトで表示されるテキストはすべてギリシャ語です。tr()ギリシャ文字だけを直接使用しました。そして、私が使用していた正しいエンコーディングのために:

Qt5 では が取り除かsetCodecForCStringsれ、すべての文字が として表示され"???????"ます。回避策はありますか?

これは大きなプロジェクトであることに注意してください。プログラム内のすべての文字列にコードを使用することは避けたいと思います。

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

c++ - VS2012のコンパイラでQt5とQtCreator2.6.1を使用するにはどうすればよいですか?

現在、公式ダウンロードにはVS2010用のQtライブラリ5.0.0のみが含まれています。VS 2012 Expressで試しましたが、「エラー:LNK2038:「_MSC_VER」の不一致が検出されました:値「1600」が値「1700」と一致しません...」というエラーメッセージが表示されました。

VS 2010をインストールする必要がありますか、それともVS 2012でQt5のソースコード全体をコンパイルする必要がありますか?

更新:私のIDEはQtCreator2.6.1です。公式ダウンロードにはまだminGW用のQtライブラリ5.0.0がないため、VS2012ではC++コンパイラのみを使用しています。

UPDATE-2(2013-1-1):今日それを見た、公式ブログは言う:

5.0シリーズでまだ取り組んでいることがいくつかあります。修正したいバグがあります。現在、MinGW(WebKitはまだ動作していないため)およびMSVC 2012(ソースからコンパイルする必要がある)のバイナリパッケージはありません。これらをできるだけ早く提供するように取り組んでいます。現在の計画では、最初のパッチレベルのリリースである5.0.1を、1月末までにリリースする予定です。

UPDATE-3(2013-1-31): ついに登場しましたが、MinGW4.7にはQt5.0.1しか追加されていません。

UPDATE-4(2013-7-06):長い間待った後、Windows 32ビット(VS 2012、511 MB)用のQt5.1.0が追加されました。

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

qt - cudaでQt5プロジェクトをビルドするには?

Qt (Win32、VS2010) と CUDA で書かれたプロジェクトがあり、cu ファイルには Qt ヘッダーが含まれています。新しい Qt 5.0 でプロジェクトをビルドしようとしたとき (Qt 4.8.3 でも問題ありません)、次のエラーが発生しました。

バグを再現する簡単なプロジェクトを作成したところ、再現されました。Qtヘッダーを使用するCUDAを使用したQtプロジェクトで繰り返すことができると思います。ただし、以下のエラーを再現するための簡単なコードを追加しました。誰でも私を助けることができますか?

test1.pro ファイル:

kernel.cu ファイル:

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

c++ - Qt5QtQuick2でのQWidgetの使用

Qt5とQtQuick2の組み合わせにはいくつかの問題があります。多くのQWidgetベースのクラスのいくつかを使用したいときはいつでも、最初に次の問題に遭遇します。

QApplicationQt5の代わりに使用する必要がありますQGuiApplication。それは簡単に変更できますよね?

だから今私は使ってQApplicationいますが、QWidgetベースのクラスを使おうとすると、プログラムがクラッシュするか、意味のないエラーメッセージが表示されます。

では、Qt5で古いQWidgetsをどのように使用する必要がありますか?Qt5の最適なソリューションではないことはわかっていますが、非常に便利です...

PS私はすべてのプラットフォーム用にLinuxでアプリを開発しています。
また、自動生成されたQtQuick2ApplicationViewerクラスを使用して、QtQuick2.0ベースのアプリケーションをレンダリングしています。

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

qt - Qt Creator 2.5.2 で Qt 5.0 を動作させる方法は?

Qt 5.0 のソース コードをダウンロードし、Ubuntu 12.10 64 ビットでコンパイルしました。を実行sudo make installすると、ファイルが次の場所にコピーされたようです/usr/local/Qt-5.0.0:

ここに画像の説明を入力

ここまでは順調ですね。しかし、Qt Creator 2.5.2 を起動して新しいビルドを指定しようとすると、異常なエラーが発生しますThe default mkspec symlink is broken

ここに画像の説明を入力

この種のエラーの原因は何でしょうか? 以下のシンボリックリンクはすべて/usr/local/Qt-5.0.0/mkspecs有効です。の出力qmake -queryは次のとおりです。

また、このマシンには Qt 4.x 開発ファイルがインストールされていないことにも注意してください。

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

qt5 - Qt5qconfig.h奇妙な

これが私のコンテキストです。WindowsでOpenGLを使用してグラフィックエンジンをコンパイルしているので、glext.hを含めました。驚いたことに、Qt5のgl2.hと競合しています。

QT_OPENGL_ES_2が定義されている場合、gl2.h(gles2から)が含まれていることがわかりました。次に、QT_OPENGL_ES_2がデフォルトで定義されており、QT_NO_OPENGL_ES_2を定義できないことがわかりました。動作するはずです(私のqconfig.hのすべてのブロック-Qt5 msvc10オフラインインストーラーからのもの-はそのように見えます):

あまり寝ていないせいかもしれませんが、変な感じがします。しかし、QT_OPENGL_ES_2が定義されておらず、QT_NO_OPENGL_ES_2が定義されている場合、(4つのスリープしていないニューロンで)2番目のブランチに入り、QT_OPENGL_ES_2を定義することは間違いありません...

もし私が彼らだったら書いていただろう:

お時間をいただきありがとうございます:)