读书人

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

发布时间: 2013-07-01 12:33:04 作者: rapoo

多窗体间调用函数实现更新
我在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()));
}

读书人网 >QT开发

热点推荐