应用程序中的主窗口

Qt 中的主窗口

Qt 开发平台直接支持主窗口的概念

QMainWindow 是 Qt 中主窗口的基类

QMainWindow 继承于 QWidget 是一种容器类型的组件

QMainWindow 中封装的秘密

QMainWindow 中的组件布局

在 Qt 中提供与菜单相关的类组件

在 Qt 主窗口中创建菜单

在 Qt 中提供与工具栏相关的类组件

在 Qt 主窗口中创建工具栏

 

QToolBar 的关键成员函数

void setFloatable(bool floatable)

void setMovable(bool movable)

void setIconSize(const QSize& iconSize)

QToolBar 中可以加入任意的 QWidget 组件

工具栏示例

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QToolBar *tool = addToolBar("tool bar");
    QAction *act = new QAction();

    act->setToolTip("open");
    act->setIcon(QIcon(":/res/open.png"));

    tool->addAction(act);

    tool->setFloatable(false);
    tool->setMovable(false);

    QPushButton *btn = new QPushButton("btn");
    QLabel *lbl = new QLabel("label");
    QLineEdit *edit = new QLineEdit("");

    tool->addWidget(btn);
    tool->addWidget(lbl);
    tool->addWidget(edit);
}

状态栏的概念和意义

状态栏是应用程序中输出简要信息的区域

状态栏一般位于主窗口的最底部

状态栏中的消息类型

  • 实时消息,如:当前程序状态
  • 永久消息,如:程序版本号,机构名称
  • 进度消息,如:进度条提示,百分比提示

在 Qt 中提供与状态栏相关的类组件

在 Qt 主窗口中创建状态栏

Qt 状态栏的设计原则

左边的区域用于输出实时消息

右边的区域用于设置永久消息

addWidget 在状态栏左半部分添加组件

addPermanentWidget 在状态栏右半部分添加组件

状态栏示例

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    QStatusBar *status = statusBar();

    QLabel *lbl = new QLabel("Label");
    QLineEdit *edit = new QLineEdit();
    QPushButton *btn = new QPushButton("Button");

    status->addPermanentWidget(lbl);
    status->addPermanentWidget(edit);
    status->addPermanentWidget(btn);

    status->showMessage("liujie");
}

结果如下图所示

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值