13.QT-QMainWindow组件使用
2021-04-14 02:26
标签:指定 倒计时 time ini str add 出现 creates clear QMainWindow介绍 QMainWindow和其它类不同,如下图所示: QMainWindow组件布局 1.菜单栏 QT中提供了预定义的与菜单相关的类组件: 创建菜单示例: 2.工具栏 工具栏使用 在Qt中,通过QToolBar类来创建工具栏,然后通过QAction类来创建工具项,如下图所示: QToolBar关键成员函数 创建工具栏示例: QToolBar中可以加入任意的QWidget组件,比如:文本框(用来查找文字) 示例,在MainWindow类的构造函数里写入: 添加Qt资源文件,将open.png加入程序指定的位置处: Qt资源文件的作用,就是告诉Qt Creator,该文件处于哪个位置 编译运行: 3.状态栏 显示的信息一般分为: -实时信息,如: 当前程序状态 -永久信息,如: 程序版本号,机构名称 -进度信息,如: 进度条提示,百分比提示 在Qt中,通过QStatusBar类来创建状态栏,这个类是个容器类组件,可以包含任意QWidget类,如下图所示: 常用函数: 创建状态栏示例: 效果: 文本编辑组件 QT中提供了三种文本编辑组件 Qt,在文本编辑组件里自带了右键式菜单 可以实现复制,粘贴,剪切等,以QTextEdit为例: 常用函数 13.QT-QMainWindow组件使用 标签:指定 倒计时 time ini str add 出现 creates clear 原文地址:https://www.cnblogs.com/lifexy/p/8971064.html
QMenuBar mb= menuBar(); //返回菜单栏,如果菜单栏没有创建,则返回一个空的菜单栏
QMenu* menu= new QMenu("File(&F)", QMenuBar ); //(&F):表示添加alt+F键快捷键打开这个菜单
QAction* action= new QAction("New(N)", QMenu); //(N):表示添加N键快捷键
action-> setShortcut(QKeySequence (Qt::CTRL + Qt::Key_N)); //为菜单项设置快捷键:ctrl+n
menu->addAction(action); //向菜单里添加菜单项"New"
menu->addSeparator(); //添加菜单分隔符
mb->addMenu(menu); //向菜单栏里添加菜单File
void setFloatable ( bool floatable );
//设置工具栏是否可以当做独立的窗口,停靠在上下左右窗口旁,,默认为true
void setMovable(bool movable);
//设置工具栏是否可以自动移动,停靠在任意处,默认为true
void setIconSize ( const QSize & iconSize );
//设置工具栏中的每个图标大小
QToolBar *tb = addToolBar("ToolBar"); //将"ToolBar"插入当前工具栏区域,并返回这个QToolBar对象
QAction *action = new QAction("",QToolBar);
action->setToolTip("Open"); //信息提示,当鼠标靠近这个项,便会提示信息
action->setIcon(QIcon(":/res/pic/open.png")); //设置图标,冒号表示该文件处于资源文件指定的地方
tb->addAction(action); //将工具栏选项加入工具栏
QToolBar* tb = addToolBar("Tool Bar");
QAction* action = new QAction("",QToolBar);
tb->setFloatable(false);
tb->setMovable(false);
action->setToolTip("Open");
action->setIcon(QIcon(":/Res/open.png"));
tb->addAction(action);
tb->addSeparator(); //添加间隔符
/*添加QWidget组件*/
QPushButton* b = new QPushButton("Button");
QLabel* l = new QLabel("Label",this);
QLineEdit* e = new QLineEdit(this);
tb->addWidget(b);
tb->addWidget(l);
tb->addWidget(e);
QStatusBar * statusBar ();
//获取当前类的状态栏,如果状态栏没有创建,则返回一个空的状态栏
void showMessage ( const QString & message, int timeout = 0 ) ;
//在状态栏下左下部显示信息, timeout 的单位是ms,timeout倒计时完会调用clearMessage()
void clearMessage ()
//清除消息
QStatusBar *sb = statusBar();
QLabel* status1 = new QLabel("Line: 1 Col: 1",this);
QLabel* status2 = new QLabel("Lines: 0 Length: 0",this);
status1->setAlignment(Qt::AlignCenter);
status2->setAlignment(Qt::AlignCenter);
status1->setMinimumWidth(200); //设置最小宽度,避免与旁边的信息紧靠在一起
status2->setMinimumWidth(200);
sb->addPermanentWidget(status1);
sb->addPermanentWidget(status2);
QMenu * QLineEdit::createStandardContextMenu();
//获取右击菜单内容
menu->addAction(tr("My Menu Item"));
//添加右击菜单内容
addAction(QAction *action, ActionPosition position);
//可以在编辑框的开始或者末尾添加一个action,方便我们操作,一个完美的搜索框顿时出现。