2016-03-30 17 views
-2

私の問題は次のとおりです。QDialogをサブクラス化して2つのスピンボックス、okおよびキャンセルボタンを持つダイアログボックスを取得しました。この新しいクラスの名前はMapCharacteristicsInputDialogです。Qt 5.6 - カスタムQDialogから2つのintを返します

メインウィンドウのボタンをクリックすると、このクラスのダイアログが表示され、[OK]ボタンを使用して閉じたときにスピンボックスから値を取得します。これどうやってするの ?ダイアログの飛び出しをトリガー

コード:

void MainWindow::on_newMapButton_clicked(){ 
    MapCharacteristicsInputDialog* dialog = new MapCharacteristicsInputDialog(); 
    dialog->exec(); 
} 
+0

here続きを読みますか? – Michael

+0

クラスのインスタンスを動的に割り当ててもよろしいですか? C++ではインスタンスを作成するために 'new'を使う必要がないので、割り当てられたメモリを'削除 'しないとメモリリークを引き起こす可能性があります。 –

答えて

3

手始めに、あなたは何をthe exec function戻りチェックする必要があります。

次に、MapCharacteristicsInputDialogクラスの2つのアクセス機能を使用してスピナーの値を取得するのが簡単な方法です。一度execが返されます。

+0

ありがとう!私は 'int result = dialog-> exec();'を使用してチェックしました。 'if(result == Qt :: Accepted){// gettersはここにあります}' 完全に正常に動作します。 –

1

signalsを使用すると、スピンボックスの値をタイトルとともに送信し、次ににデータを必要とするものを接続することができます。

は[QPAIR](http://doc.qt.io/qt-5.6/qpair.html)を使用し

関連する問題