我是QT的初學者。我想將值返回到LineEdit主窗口中GraphicsWidget窗口進行計算。QT 5.4.1將form1 mainwidow中的值發送到form2
mainwindow.ccp
int value=ui->lineEdit->text().toInt();
GraphicsWidget.ccp
qDebug()<<value;
我是QT的初學者。我想將值返回到LineEdit主窗口中GraphicsWidget窗口進行計算。QT 5.4.1將form1 mainwidow中的值發送到form2
mainwindow.ccp
int value=ui->lineEdit->text().toInt();
GraphicsWidget.ccp
qDebug()<<value;
您可以使用Qt信號和槽。欲瞭解更多信息,請參閱文檔here
對你的情況的實施,將是這樣的
MainWindow.cpp構造
GraphicsWidget _graphicsWidget;
connect(this,SIGNAL(sendLineEditValue(int)), &_graphicsWidget,SLOT(receiveLineEditValue(int)));
mainwindow.h
signals:
void sendLineEditValue(int value);
主窗口。 cpp
void MainWindow::decideToSend(){
int value=ui->lineEdit->text().toInt();
emit sendLineEditValue(value);
}
graphicswidget.h
public slots:
void receiveLineEditValue(int value);
graphicsgidget.ccp
void GraphicsWidget::receiveLineEditValue(int value){
qDebug()<<value;
}
的想法是,當你永遠emit
一個signal
,連接的slot
將被調用。
signal slot
的implemetation是直接調用GraphicsWidget::receiveLineEditValue(int value)
從MainWindow
您可以使用SIGNAL & SLOT用於這一目的,但是如果你是新的,你不知道SIGNAL & SLOT什麼,你可以只是將價值傳遞給另一個功能。
graphicswidget.h
public:
void receiveLineEditValue(int value);
mainwindow.cpp
GraphicsWidget* _graphicsWidget;
_graphicsWidget->receiveLineEditValue(value);
你有什麼問題嗎?現在你已經從mainwindow中讀取int值了,你想用GraphicsWidget做什麼? – demonplus