• 13252阅读
  • 5回复

[提问]QT中函数void Dialog::changeEvent(QEvent *e) 什么作用 [复制链接]

上一主题 下一主题
离线r187111
 
只看楼主 正序阅读 楼主  发表于: 2012-02-23
  1. [font=Arial][/font]
  2.   void Dialog::changeEvent(QEvent *e){
  3. QDialog::changeEvent(e);
  4. switch (e->type()) {
  5. case QEvent::LanguageChange:
  6. ui->retranslateUi(this);
  7. break;
  8. default:
  9. break;
  10. }
  11. }


离线lejcey

只看该作者 5楼 发表于: 2012-02-28
你没发现那段代码是当发生语言改变时改变语言吗,那个ui->retranslateUi(this); 就是改变语言的函数了。

参见:

void QWidget::changeEvent ( QEvent * event ) [virtual protected]

This event handler can be reimplemented to handle state changes.

The state being changed in this event can be retrieved through the event supplied.

Change events include: QEvent::ToolBarChange, QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::WindowTitleChange, QEvent::IconTextChange, QEvent::ModifiedChange, QEvent::MouseTrackingChange, QEvent::ParentChange, QEvent::WindowStateChange, QEvent::LanguageChange, QEvent::LocaleChange, QEvent::LayoutDirectionChange.
离线r187111
只看该作者 4楼 发表于: 2012-02-28
回 3楼(wxj120bw) 的帖子
case QEvent::LanguageChange://就一种case啊,怎么切换啊?
离线wxj120bw

只看该作者 3楼 发表于: 2012-02-24
回 2楼(r187111) 的帖子
就是中文 英文 还是 其他文的
离线r187111
只看该作者 2楼 发表于: 2012-02-24
回 1楼(wxj120bw) 的帖子
这个是什么语言切换什么语言?
离线wxj120bw

只看该作者 1楼 发表于: 2012-02-23
回 楼主(r187111) 的帖子
切换语言版本就靠这个函数
快速回复
限100 字节
 
上一个 下一个