这还是第一次写博客,肯定写的很糟糕,希望读者见谅........
现在把自己纠结很久的问题的解决方法简单介绍一下。
问题:QT中自己定义的函数,不能直接调用MainWindow类和UI类中的成员,并且在类外直接定义MainWindow的对象并调用其成员,程序虽然能编译但却无法运行,自己也是遇到了很多次这种情况,具体原因没去细看。
类外函数若想直接调用UI的控件,只要将UI的指针做外参数传入类外函数即可。
比如:
char str_buf[] = "this is the test program.........";
/* ============= 类外函数 **************************************/
void display(Ui::MainWindow *dis)
{
dis->XXX_label->setText(str_buf);
}
/***************** MainWindow类成员函数 ************************/
void MainWindow::init()
{
display(ui);
}