关闭窗口后对父窗口的控制

来源:互联网 发布:重庆淘宝运营培训 编辑:程序博客网 时间:2024/06/05 21:54
bool LanguageChooser::eventFilter(QObject *object, QEvent *event){    if (event->type() == QEvent::Close) {        MainWindow *window = qobject_cast<MainWindow *>(object);        if (window) {            QCheckBox *checkBox = mainWindowForCheckBoxMap.key(window);            if (checkBox)                checkBox->setChecked(false);        }    }    return QWidget::eventFilter(object, event);}void LanguageChooser::checkBoxToggled(){    QCheckBox *checkBox = qobject_cast<QCheckBox *>(sender());    MainWindow *window = mainWindowForCheckBoxMap[checkBox];    if (!window) {        QTranslator translator;        translator.load(qmFileForCheckBoxMap[checkBox]);        qApp->installTranslator(&translator);        window = new MainWindow;        window->setPalette(colorForLanguage(checkBox->text()));        window->installEventFilter(this);        mainWindowForCheckBoxMap.insert(checkBox, window);    }    window->setVisible(checkBox->isChecked());}

摘自qt demo,并记录,请查看原demo
0 0
原创粉丝点击