• 2413阅读
  • 1回复

指向ui->retranslateUi的函数指针 [复制链接]

上一主题 下一主题
离线twodiamond
 

只看楼主 倒序阅读 楼主  发表于: 2018-01-10

有多个MyQWidget,做多语言翻译时,在changeEvent(QEvent *e)事件中都会调用:
                   ui->retranslateUi(this)
来实现UI的翻译。

在MyQWidget中,想定义一个函数指针
typedef void (*fPtr)(QWidget *)
fPtr retranslateUi;

MyQWidget:MyQWidget(QWidget *parent):
      QWidget(parent),
      ui(new Ui::MyWidget)
{
      ui->setupUi(this);

     retranslateUi = ui->retranslateUi;             //会报错

}

请问:这个应该如何才好呢?
谢谢!
离线cluckly

只看该作者 1楼 发表于: 2018-01-10
retranslateUi 和 ui->retranslateUi不是一个类型吧.

你需要额外定义一个函数

void myRetranslateUi(QWidget *self, QWidget *widget)
{
    self->retranslateUi(widget);
}

快速回复
限100 字节
 
上一个 下一个