我是QT的初学者。我想将值发送回LineEdit主窗口到GraphicsWidget窗口进行计算。
mainwindow.ccp
int value=ui->lineEdit->text().toInt();
GraphicsWidget.ccp
qDebug()<<value;
答案 0 :(得分:1)
您可以使用Qt信号和插槽。有关更多信息,请参阅文档here
您的案例的实现将在
中实现MainWindow.cpp构造函数
GraphicsWidget _graphicsWidget;
connect(this,SIGNAL(sendLineEditValue(int)), &_graphicsWidget,SLOT(receiveLineEditValue(int)));
mainwindow.h
signals:
void sendLineEditValue(int value);
mainwindow.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
。
GraphicsWidget::receiveLineEditValue(int value)
的实施方案是直接拨打MainWindow
var yourList = new List<int[]>{
new int[]{ 2, 1, 55, 23, 3 },
new int[]{ 44, 7, 88, 2, 1}
};
var sorted = yourList.Select(innerList => innerList.OrderBy(elm => elm));
醇>
答案 1 :(得分:0)
您可以将SIGNAL&amp; SLOT用于此目的,但是如果您是新手并且您对SIGNAL&amp; SLOT一无所知,则可以将值传递给另一个函数。
graphicswidget.h
public:
void receiveLineEditValue(int value);
mainwindow.cpp
GraphicsWidget* _graphicsWidget;
_graphicsWidget->receiveLineEditValue(value);