私は Qt および C++ プログラミングの初心者です。プログラムに解決策が必要な問題があります。
MainWindow.h と ChatWindow.h の 2 つのファイルがあり、MainWindow と ChatWindow の 2 つのクラスが含まれています。
これはchatwindow.hです
namespace Ui {
class ChatWindow;
}
class ChatWindow : public QMainWindow
{
Q_OBJECT
public:
explicit ChatWindow(QWidget *parent=0);
~ChatWindow();
private slots:
void send_chat_fn(pjsua_call_id call_id);
void rcv_chat_fn(pjsua_call_id call_id);
void rcv_msg_fn(QString msg);
void on_pushButton_clicked();
void on_actionQuit_triggered();
private:
Ui::ChatWindow *ui;
};
これが mainwindow.h です
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
void add_item(QString buddy_uri);
signals:
void send_chat(pjsua_call_id call_id);
void rcv_chat(pjsua_call_id call_id);
void rcv_msg(QString msg);
private slots:
void on_actionAdd_Buddy_triggered();
void on_actionQuit_triggered();
void on_actionStatus_triggered();
void on_actionNew_Chat_triggered();
void on_action_Configuration_triggered();
void on_listWidget_doubleClicked(const QModelIndex &index);
private:
Ui::MainWindow *ui;
};
mainwindow.h からのシグナルを chatwindow.h のスロットに接続したいと考えています。
クラスChatWindowのコンストラクターで接続を試みましたが、機能しません(クラスではなくインスタンスで接続が機能するためだと思います)。接続したい MainWindow クラスのインスタンスは mainwindow.cpp にあります。MainWindow でクラス ChatWindow のインスタンスを定義すると、次のエラーが発生します。
親を設定できません。親は別のスレッドにあります
そして、ChatWindow のコンストラクターで新しいインスタンスを作成すると、目的のインスタンスに接続されません。
その完全な混乱。これで私を助けてください。