【发布时间】:2015-01-14 20:09:39
【问题描述】:
我有一个有四个按钮的主窗口,所有这四个按钮都连接到“clicked()”信号。当我们单击按钮时,它会转到另一个替换主窗口的小部件(使用堆叠布局)。我想将按钮的名称传递给小部件,以便我可以使用该值并将其附加到小部件中的标签。我尝试使用以下方法将值传递给widgte:
主窗口.h
public:
explicit MainWindow(QWidget *parent = 0);
QStackedLayout *stackedLayout;
QLineEdit* lineEdit();
主窗口.cpp
QLineEdit* MainWindow::lineEdit()
{
//buttonName is a QLineEdit on the main form which is hidden and value is being set when a button is clicked
std::string text=ui->buttonName->text().toUtf8().constData();
std::cout<<"Button Name passed from main window is"<<text<<std::endl;
return ui->buttonName;
}
SecondForm.cpp
MainWindow mainWind;
std::string text=mainWind.lineEdit()->text().toUtf8().constData();
std::cout<<"The name of the button is"<<text<<std::endl;
这是我遵循的方法。数据没有返回到第二种形式。是因为我在单击按钮后设置了 QLineEdit 的值并且该值没有存储在任何地方吗?你能告诉我我在这里缺少什么吗?
【问题讨论】:
标签: c++ qt qt4 qt-creator