QT GUI总结

QT GUI总结

http://blog.sina.com.cn/s/blog_8d8425f3010106j5.html

 (2012-06-03 09:40:18)

 

使用布局机制组织界面元素:布局控件有QHBoxLayout,QVBoxLayout及QGridLayout.分别是水平布局,垂直布局和网格布局控件.其他控件可放置与其上,当窗体大小改变的时候会自动调整界面元素位置和大小.QT还提供了一个伸展器控件,放置与布局控件的空闲部位使其他元素位置总是居上或居下.

  在主窗体上创建菜单栏,工具栏:在头文件中声明QAction对象,每个QAction对应一个菜单栏、工具栏对象。在构造函数中实例化这些Action并将其显示在菜单栏或工具栏上。

  newAction = new QAction(tr("&New"), this);

  newAction->setIcon(QIcon(":/images/new.png"));//设置资源中的图片文件作为其图标

  newAction->setShortcut(QKeySequence::New);//设置快捷键 键值与系统有关

  newAction->setStatusTip(tr("Create a new spreadsheet file"));//鼠标经过时显示在状态栏上的文字

  connect(newAction, SIGNAL(triggered()), this, SLOT(newFile()));//设置信号-槽关联

  fileMenu = menuBar()->addMenu(tr("&File"));//创建顶层菜单 文件菜单

  fileMenu->addAction(newAction);//将上面创建的Action添加到菜单上

  fileToolBar = addToolBar(tr("&File"));//创建工具栏

  fileToolBar->addAction(newAction);//将上面创建的Action添加到工具栏上

  如果要创建部件的右键菜单,需要将Action添加到部件,并设置部件的上下文菜单的策略.更高级的实现方式是重写部件的contextMenuEvent方法,创建一个QMenu窗口,在其中添加动作后调用exec()函数.

  部件对象->addAction(newAction);

  部件对象->setContextMenuPolicy(Qt::ActionsContextMenu);

  设置状态栏首先需要向状态栏添加控件用来显示信息.

  locationLabel = new QLabel("W999");

  locationLabel->setAlignment(Qt::AlignHCenter);

  locationLabel->setMinimumSize(locationLabel->sizeHint());

  locationLabel->setIndent(3);//设置扩展因子,在状态栏大小发生变化是自动调整区域,默认扩展因子为0,表示大小不发生变化.

  statusBar()->addWidget(locationLabel);//向状态栏添加控件

 

posted @ 2018-04-18 16:11  sky20080101  阅读(162)  评论(0)    收藏  举报