如何在Qt中连接两个窗口?

时间:2016-03-05 21:17:44

标签: c++ qt

我正在尝试通过聊天制作窗口,并且"主要"窗口。如果我在聊天窗口中点击用户名,它应该在主窗口中显示个人资料。做这样的事情最好的方法是什么?

1 个答案:

答案 0 :(得分:3)

您应该将指针传递给另一个窗口类,并通过插槽/信号连接它们:

class MainWindow
{
    Q_OBJECT
    ...
    public slots:
    void onUsernameSelected(...);
};


class ChatWindow
{
    Q_OBJECT
    ...
    MainWindow *mainWindow;

    ...

    ChatWindow(QObject *parent, MainWindow *mainWindow):
    ...
    mainWindow(mainWindow)
    {
        connect(this, &ChatWindow::usernameSelected, mainWindow, &MainWindow::onUsernameSelected);
    }
};