在Qt中,可以通過(guò)以下幾種方式在兩個(gè)窗口之間傳輸數(shù)據(jù):
// 第一個(gè)窗口
SecondWindow secondWindow(data);
secondWindow.show();
// 第二個(gè)窗口的構(gòu)造函數(shù)
SecondWindow::SecondWindow(DataType data, QWidget *parent)
: QWidget(parent), m_data(data)
{
// 使用傳遞的數(shù)據(jù)
// ...
}
// 第一個(gè)窗口
SecondWindow secondWindow;
secondWindow.setData(data);
secondWindow.show();
// 第二個(gè)窗口的成員函數(shù)
void SecondWindow::setData(DataType data)
{
m_data = data;
// 使用傳遞的數(shù)據(jù)
// ...
}
// 第一個(gè)窗口
emit dataPassed(data);
// 第二個(gè)窗口的槽函數(shù)
void SecondWindow::onDataPassed(DataType data)
{
// 使用傳遞的數(shù)據(jù)
// ...
}
// 連接信號(hào)與槽
connect(firstWindow, &FirstWindow::dataPassed, secondWindow, &SecondWindow::onDataPassed);
以上是三種常見(jiàn)的方法,選擇使用哪種方法取決于具體的需求和情況。