简体   繁体   English

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

[英]How can I connect two windows in Qt?

I am trying make window with chat, and "main" window. 我正在尝试使用聊天窗口和“主”窗口。 If I click at username in chat window, it should show profile in main window. 如果我在聊天窗口中单击用户名,它将在主窗口中显示个人资料。 What's the best way to do something like this? 做这样的事情的最好方法是什么?

You should pass pointer to one window class from another and connect them by slots/signals: 您应该将指针从另一个窗口类传递到另一个窗口类,并通过插槽/信号连接它们:

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);
    }
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM