問題タブ [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 投票する
0 に答える
378 参照

c++ - マウス領域で移動した後、qml要素のx、y、値を取得するにはどうすればよいですか?

Qt5公式リリースを使用 -

画像要素の x、y プロパティを保存する必要があります。これ

プロパティが最初に設定された値を示しますが、必要なのは、マウスで画像を移動した後の現在の値です。おそらく単純なものが欠けているのでしょうが、他に何も見つかりません。本当に助けていただければ幸いです、ありがとう。

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

multithreading - Qt:QObjectが別のスレッドに移動した後、シグナル/スロットが機能しない

私はQt5を使用しており、moveToThread()によってQObjectワーカーをQThreadのインスタンスに渡すことでスレッドを実装しています。私の実装は次のようになります。

Worker.h

Worker.cpp

MainWindow.h

MainWindow.cpp

次の2つの信号/スロットペアが機能しないように見える理由がわからない

その結果、do_Work()スロットがstarted()QThreadオブジェクトのシグナルによってトリガーされると、スレッドを開始または停止できません。参考までに、この私の投稿は、ここで説明した以前の投稿の続きです。洞察があれば役立ちます...ありがとうございます

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

c++ - OSX Mountain Lion を使用した Qt 5.0 および c++11

7 年間離れていたので、C++ をもう一度試してみます。新しくリリースされた Qt 5.0 SDK for osx をダウンロードしましたが、Qt Creator を使用してコンパイルされた基本的な C++11 機能を取得できません。次のステートメント:

コンパイル エラーが発生します。

同様の問題についてグーグルで検索し、提案を見つけました

.pro ファイルで。残念ながら成功しませんでした。認識されないコマンド ライン オプションでビルドが失敗します。

私は何か間違ったことをしているに違いない。助言がありますか?

ありがとう、

フランス

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

c++ - 名前空間で型を返すQMLでC++スロットを使用する

最初に、以下はQt 5.0.0ベータ1までは正常に機能しましたが(おそらくベータ2とRCも、わかりません)、Qt5.0.0の最終リリースバージョンでは失敗します。Qt5.0.0の最終リリースバージョンで見られた結果のみを参照したいと思います。したがって、おそらくこれはQt5の最近の変更と関係があります。

C ++側では、名前空間に一連のクラス(QObjectから派生)があります(これはオプションでコンパイラフラグでトリガーされます。クラスは別のライブラリにあり、ライブラリは名前空間の使用をオプションとしてユーザーに任せています。図書館)。ここGameでのクラスは、次のようになります(抜粋):

マクロは、Qtが実行するのと同じように、マクロ名で「QT」が「OAE」に置き換えられるだけで、 ...または何もOAE_BEGIN/END_NAMESPACE展開されません。namespace OAE_NAMESPACE {}<qglobal.h>

以下で、「名前空間を有効にする」と言うときは、マクロを宣言したことを意味します。OAE_NAMESPACEこの場合は、値を使用しますoae

特に、このクラスのインスタンスと、アプリケーションのユーザーインターフェイスのQML内からPlayer返されたクラスにアクセスします。player()このために、私は次のようにクラスを登録します。

QMLフロントエンドに、QML内Gameで呼び出されるのインスタンスへのポインターを提供します。theGame

QML内では、これを通常どおり使用します。小さな例では、player():のポインタアドレスを出力する必要があります。

を設定したかどうかに応じて、次の結果が得られますOAE_NAMESPACE(ちなみに、ライブラリとそれを使用するアプリケーションの両方に同じ設定を使用しています)。

  • 名前空間を無効にすると、すべてが期待どおりに機能し、QMLによってポインタが出力されます。

    /li>
  • 名前空間を有効にする場合(およびusingライブラリを使用するC ++コード内であるため、コードをまったく変更しません)、QMLは次の戻り値のタイプを理解できませんGame::player()

    /li>
  • の戻りタイプをに変更するGame::player()oae::Player*、すべてが再び正常に機能します。

    /li>

これまでの私の結論はmoc、クラスの周りに配置した名前空間を考慮していないということです。私の最初の推測は次のとおりです。ねえ、moc呼び出し時に名前空間を定義することを知りませんg++。これは、.proファイルで行うことです。

ただし、戻り値のタイプをに変更しOAE_NAMESPACE::Player*ても機能するため、mocはマクロを認識しますが、マクロを展開しないか、名前空間を解析しなくなります。OAE_NAMESPACEOAE_BEGIN/END_NAMESPACE

mocPlayer * Game::player() constメソッドの戻り型を含む次の「stringdata」を生成します。

  • 名前空間を無効にして戻りタイプを使用する場合Player*

    /li>
  • 名前空間を有効にしてリターンタイプを使用する場合Player*

    /li>
  • 名前空間を有効にしてリターンタイプを使用する場合OAE_NAMESPACE::Player*

    /li>

一方、有効になっている場合は、名前空間でmoc返されるクラス名を先頭に追加します。QMetaObject::className()

私の結論は、QObjectメタメソッドのシグニチャでこれらのタイプを使用する代わりに、書き込むことでこれを修正できるということです。(まあ、より良いマクロがあります)。これはコードではひどいように見えますが、メソッドがすでに名前空間にあるため、私には間違っているように見えるので、より良い解決策はありますか?OAE_NAMESPACE::ClassNameClassNameOAE_PREPEND_NAMESPACE

今はOAE_BEGIN/END_MOC_NAMESPACE(に類似しているQT_BEGIN/END_MOC_NAMESPACE)もあるので、多分私はどこかにそれらが必要ですか?Qtでどこでどのように使用されているかわからないので、Qtと同じオプションの名前空間機能を使用したいので、ライブラリでそれに応じて使用する必要があります。

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

qt - Windows 用のオープン ソース Qt ライブラリ 5 バイナリ バージョンをインストールする方法

この質問は、具体的にQt libraries 5.0.0 for Windows (VS 2010 406 MB)http://qt-project.org/downloads (ただし、将来の 5.xx バージョンにも適用されると思います) に関するもので、それを「クリーンな」Windows ワークステーションにインストールします。

それを機能させるには何が必要ですか?私はダウンロード パッケージの正確な最小限のセットを求めています。つまり、「完全に修飾された」ダウンロード名の順序付けられたリストであり、できれば Microsoft ダウンロードへのリンクが含まれています。

同じダウンロードページの最新の Qt Creator を IDE として使用するので、Visual Studio をインストールする必要はありません。

私の現在の理解では、VC++ Express を見つけ、その SP1 アップデートを見つけ、デバッグ パッケージを見つけて、Qt Creator のデバッガー バックエンドを取得する必要があります。Windows SDK パッケージが必要かどうか、または VS を何らかのバージョンの Windows SDK に置き換えることができるかどうかがわかりません。いいえ、qt-project の Web ページはこれに答えていません。この特定のシナリオ (完全な非フリーの Visual Studio 2010 なしでバイナリ ライブラリのダウンロードを使用する) に対する指示はかなりあいまいです。

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

qt - C++ で QML 要素を作成しますか?

次の問題があります。

QQuickViewファイルを使用して初期インターフェイスをロードし.qmlます。次に、C++ を使用してorのようなQML 型をインターフェイスに追加します。ImageText

C++ から既存の要素を操作できることはわかっていますが、新しい型を作成して追加するにはどうすればよいですか?

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

c++ - 使用するQtGUIコンテナは何ですか?関連するビデオ表示の問題-Windows7

複数のビデオ(メディア)ファイルを再生し、各ファイルでユーザーが変更できるようにするアプリケーションを設計しようとしています(たとえば、ビデオのスケーリング、回転、反転など)。私は勉強することから始めましたPhononが、しばらく調べた後、> =でサポートされなくなった(またはサポートが疑わしい)ことを読みましたQt5。それで私は戻って、今私はqtmultimediaを見ています- QMediaPlayer。私はc#-WPFのバックグラウンドから来ましたが、Qt-C++で以前にいくつかの作業を行いました。しかし、今回は、どのウィジェットを使用しなければならないかについて行き詰まり、混乱しています。、およびQMediaPlayerにその出力(ビデオ)を表示できます。回転などの機能が必要なので、QGraphicsScene/Viewを組み込む必要があると思います。QVideoWidgetQGraphicsVideoItemQAbstractVideoSurface

<1>では、アプローチはどうあるべきでしょうか?私はこれを行いました:使用QVideoWidget->これをQGraphicsProxyWidgetvia setWidget()に追加しました(ただし、setWidget()はQWidget*を取り、Qt Assistantで見られるようにQVideoWidget派生しQWidgetていません-なぜこれが許可されているのですか?)-> via ()->にこれQGraphicProxyWidgetを追加しました構築中にこれを追加しました-> via ()に追加しました。これでいいですか?いつ使用するか?QGraphicsSceneaddItemQGraphicsSceneQGraphicsViewQGraphicsViewQMainWindowsetCentralWidgetQGraphicsVideoItemQAbstractVideoSurface

<2>QVideoWidget次のように複数を追加すると、ビデオやQVideoWidgetそれ自体が表示されません(区別するためにペイントしました)。私は何が間違っているのですか?(ただし、音声出力があります):

<3>これをさらに研究する前に、前述のようにビデオを操作するためにQtで適切なツールを選択していますか、それとも何か他のことをする必要がありますか?

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

c++ - Qt4からQt5への移植:未解決の外部シンボル

Qt5は新世代のQtであり、いくつかの変更があります。

Qt4でうまく構築できるプロジェクトがあります。Qt5-VisualStudio2010パッケージをダウンロードし、プロジェクトをQt4からQt5に移植しようとしています。問題が発生します。

すべての「include」パスは適切に修正されています。ただし、コンパイラは現在、数百の「未解決の外部シンボル」を報告します(ほとんどすべての関数呼び出し、コンパイラが.libファイルを見つけられないように聞こえます)。Qt SDKフォルダーにあるすべての.libファイルを追加しようとしましたが、役に立ちませんでした。最も基本的なクラスとメソッド:QApplication :: exec(...)も「未解決のシンボル」として報告されます。

プロジェクトファイルは、Qt5パッケージに合うように変更されました。

Qtのこの新しいリリースで同様の経験をした人はいますか?

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

c++ - Qt で特定のシステム サウンドを再生する

Windows で「既定のビープ音」と呼ばれる標準の通知音をアプリケーションで鳴らしたいと考えています。QSound でシステム サウンドを参照する方法がわかりません。このサウンドを再生するためにサウンドが割り当てられていない QSound インスタンスが使用されていましたが、Qt 5 で修正されました。それを行う方法はありますか?

#ifdefソリューションが Windows でのみ機能する場合は問題ありません (ただし、サポートされている任意の OS でコンパイルして、Win APIを使用したくありません)。

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

qt5 - QNetworkAccessManager を使用して ftp サーバーからファイルのリストを取得する Qt コード

Qtで単純なFTP クライアントを作成しています。Qt 5.0を使用しています。

QNetworkAccessManageras QFtpis deprecated from Qt 5.0を使用してファイルをダウンロードおよびアップロードするコードを作成しました。

FTP上のすべてのファイルのリストを取得するコードを書きたいと思います。を使用して解決策を得ましQFtpたが、使用していませんQNetworkAccessManager。それを行う方法を提案してください。