当前位置: 代码迷 >> QT开发 >> 多窗体间调用函数兑现更新
  详细解决方案

多窗体间调用函数兑现更新

热度:9   发布时间:2016-04-25 03:50:07.0
多窗体间调用函数实现更新
我在A窗体里点击一个按钮btn1后  B窗体中的一个函数sx()执行  sx()里是改变B窗体里控件的一些内容 实现更新效果    用信号槽的话如何做?
窗体间调用函数

------解决方案--------------------
信号与槽不能实现么?两个窗体是独立的应用程序还是一个应用程序的多个窗体
------解决方案--------------------
引用:
同一应用程序里的父窗体和子窗体  我互相传值都可以 但把函数public了调用 没反应唉

这样的话,需要更新的窗口定义一个槽函数用来更新窗口,连接button的clicked信号
------解决方案--------------------
引用:
父窗体:

public:
    void sx();

Dialog *d=new Dialog;
connect(d,SIGNAL(on_btn_clicked()),this,SLOT(sx()));
d->show();

void MainWindow::sx()
{
    ui->textEdit->setText("dsdsdsd");
}


子窗体:
private slots:
void on_btn_clicked();

void Dialog::on_btn_clicked()
{

}


这么不行么?


public:
    void sx();

public slots:
    void sx();
------解决方案--------------------
class A
{
    ...
    private:
        B *pb;
        QPushButton *btn;
}

class B
{
    ...
    public slots:
        void sx(void);
}

A()
{
    pb = new B();
    QObject::connect(&btn, SIGNAL(clicked()), pb, SLOT(sx()));
}
  相关解决方案