1 文本编辑器中实现设置工具栏和状态栏可见性的功能

实现思路如下:

  • 通过setVisible()设置可见性。
  • 更新界面上QAction对象的状态:
    • 菜单中的QAction对象是否勾选。
    • 工具栏中的QAction对象是否按下。

槽函数的定义:
在这里插入图片描述
槽函数的绑定,只截取一处:
在这里插入图片描述
槽函数的实现:

void MainWindow::onToolBarView()
{
    const QObjectList list = children();

    for (int i=0; i<list.count(); i++)
    {
        QToolBar* bar = dynamic_cast<QToolBar*>(list[i]);

        if (bar != NULL)
        {
            bool visible = bar->isVisible();
            bar->setVisible(!visible);

            QAction* action = findMenuBarAction("Tool Bar");
            if (action != NULL)
            {
                action->setChecked(!visible);
            }

            action = findToolBarAction("Tool Bar");
            if (action != NULL)
            {
                action->setChecked(!visible);
            }
        }
    }
}

void MainWindow::onStatusBarView()
{
    QStatusBar* status = statusBar();
    bool visible = status->isVisible();

    status->setVisible(!visible);

    QAction* action = findMenuBarAction("Status Bar");
    if (action != NULL)
    {
        action->setChecked(!visible);
    }

    action = findToolBarAction("Status Bar");
    if (action != NULL)
    {
        action->setChecked(!visible);
    }
}

参考资料:

  1. QT实验分析教程
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐