2016-07-15 4 views
0

QTを学んでいて、この問題があります。私はここでいくつかの似たような質問を読んだが、解決策は私のような初心者には複雑である。QTの別のスロットにあるスロットから変数を使用する方法

このコードでvar_slot1の値にアクセスするにはどうすればよいですか?

これを解決するのを手伝ってください。どうもありがとう !

MyProject::MyProject(QWidget *parent) 
     : QWidget(parent) 
{ 
    ui.setupUi(this); 
    .......... 
    .......... 
    connect(ui.button1, SIGNAL(signal1()), this, SLOT(slot1())); 
    connect(ui.button2, SIGNAL(signal2()), this, SLOT(slot2())); 
} 

void MyProject::slot1() 
{ 
    int var_slot1 = 8; 
} 

void MyProject::slot2() 
{ 
    int var_slot2 = var_slot1 + 2; 
} 
+1

'var_slot1'を' MyProject'のメンバ変数にします –

+0

ありがとう、スティーブ! :) – gnase

答えて

4

値を関数ローカル変数ではなくクラスメンバー変数として保存できます。次に、両方のメンバー関数からアクセスできます。

+1

slot1()の前にslot2()が呼び出された場合は、コンストラクタで初期化することを忘れないでください。 – Scott

関連する問題