如何在Qt中将数据从一个表单传递到另一个表单?
我创建了一个QWidgetProgect - > QtGuiApplication,我目前有两种形式.现在我想将数据从一个表单传递到另一个表单.
我怎样才能做到这一点?
谢谢.
Ven*_*emo 16
textChanged或textEdited信号连接)我们假设您有两个窗口:FirstForm和SecondForm.在其用户界面上FirstForm有一个QLineEdit名字myTextEdit,SecondForm并QListWidget在其用户界面上有一个名为myListWidget.
我还假设您在main()应用程序的功能中创建了两个窗口.
firstform.h:
class FistForm : public QMainWindow
{
...
private slots:
void onTextBoxReturnPressed();
signals:
void newTextEntered(const QString &text);
};
Run Code Online (Sandbox Code Playgroud)
firstform.cpp
// Constructor:
FistForm::FirstForm()
{
// Connecting the textbox's returnPressed() signal so that
// we can react to it
connect(ui->myTextEdit, SIGNAL(returnPressed),
this, SIGNAL(onTextBoxReturnPressed()));
}
void FirstForm::onTextBoxReturnPressed()
{
// Emitting a signal with the new text
emit this->newTextEntered(ui->myTextEdit->text());
}
Run Code Online (Sandbox Code Playgroud)
secondform.h
class SecondForm : public QMainWindow
{
...
public slots:
void onNewTextEntered(const QString &text);
};
Run Code Online (Sandbox Code Playgroud)
secondform.cpp
void SecondForm::onNewTextEntered(const QString &text)
{
// Adding a new item to the list widget
ui->myListWidget->addItem(text);
}
Run Code Online (Sandbox Code Playgroud)
main.cpp中
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// Instantiating the forms
FirstForm first;
SecondForm second;
// Connecting the signal we created in the first form
// with the slot created in the second form
QObject::connect(&first, SIGNAL(newTextEntered(const QString&)),
&second, SLOT(onNewTextEntered(const QString&)));
// Showing them
first.show();
second.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16895 次 |
| 最近记录: |