問題タブ [qsharedpointer]

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

c++ - QSharedPointer が false を返さない

私は現在、このようなものを持っています

この共有ポインタは次のように使用されます。

を閉じるとQMainWindow、次のコードでアプリがクラッシュします

私の質問は、cV QMainWindow(の x ボタンをクリックして) オブジェクトを閉じたときに、次のステートメントが true を返すのはなぜですか?

falseウィンドウが閉じられている場合、どうすれば元に戻すことができますか?

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

c++ - Qtはブースト::ptr_vectorと同等ですか?

ポインターの所有権を取得するポインター コンテナーが必要です。つまり、要素が削除されるか、コンテナーがスコープ外になると、のようにすべてのポインターが解放されboost::ptr_vectorます。

QList<QScopedPointer<AbstractClass> >動作しません (コンパイル エラー、コピー コンストラクターがありませんか?)。

現在、私は を使用してQList<QSharedPointer<AbstractClass> >いますが、参照カウントとマルチスレッド用の高価なミューテックスを備えているため、やり過ぎのように感じます。

編集: Qt3では非常に同等でしたが、後のバージョンから削除されたQPtrList (@ForEveRに感謝)について知りました。なぜ彼らがそれを削除するのか理解できません。

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

c++ - C++ でのオブジェクトの作成とメンバーの宣言

私はバックグラウンドから来て、Java最近学び始めましQtC++。いくつかのコーディングを行っているときに、オブジェクトの作成とメンバーの宣言についていくつかの疑問が浮かびました。

次のように宣言されたクラスがあるとします。

ClassA.h:

ClassA.cpp

MyObject myObj;宣言されたヘッダーで何が起こったのですか? タイプのオブジェクトがMyObjectスタックで作成され、myObj引数を取らないコンストラクターを使用して変数に割り当てられましたか? MyObjectそれとも、オブジェクトを格納するために用意された空の変数のみが宣言されましたか?

スタックに作成された新しいオブジェクトを変数に割り当てるにはClassA.cppどうすればよいですか?myObj

definedArrayはヒープに作成された s の配列ですが、メモリ リークを避けるためintに を含むデストラクタを追加する必要がありますか?delete declaredArray;

QSharedPointer<MyObject> obj;宣言されたヘッダーで何が起こったのですか? への空のポインタがMyObject作成されましたか? ClassA.cpp( )内の割り当てはobj = QSharedPointer<MyObject>(new MyObject, doDeleteLater);正しいですか?

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

c++ - Qt シグナル: QSharedPointer を逆参照する

タイプQUndoStackの属性を持つクラスHistorymanagerがあります。返されるゲッターで undoStack を取得できます

別のクラス C では、historymanager にアクセスできるようになり、信号 canRedoChanged(bool) をそのクラスのメソッドに接続する必要があります。問題は次のとおりです。接続メソッドに送信者を伝えるにはどうすればよいですか?

私は試した:

しかし、それはうまくいきません。私も試しました

前に「*」を付けて historyManager->getQUndoStack().data() を逆参照しますが、コンパイル エラーが発生します。

qudostack.h が確実に提供しているにもかかわらず、Qt は信号 canRedoChanged がないことを伝え続けています。connect メソッドでは、最初の引数が

ここで何をする必要がありますか?

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

c++ - QtのPointerToMemberFunctionはどこで定義されていますか?

この質問QObjectでは、私は方法を適応させることができました

最初のパラメーターとしてa のQSharedPointer代わりに aを受け入れるバリアントに:QObject*

関数ポインタを取るバージョンでも同じことをしたいのですが、

しかし、何が定義されているのか、どこに定義されているのかわかりませんPointerToMemberFunction! このタイプは何ですか?

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

c++ - Qt API で使用されるプレーン ポインターのみ

私は数日間 Qt を使用してきましたが、なぜすべての API が独自のスマート ポインターの代わりにプレーン ポインターを使用するのか疑問に思いますQSharedPointer

それらを使用する方が一貫性がありませんか?