QT QMianWindow类
Posted 庖丁解牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT QMianWindow类相关的知识,希望对你有一定的参考价值。
QMianWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器等。
QMainWindow中菜单需要QMenu类和QAction类来实现。
QAction类定义了菜单的具体行为。
QMainWindow中提供了menuBar()函数返回一个menuBar.
通过调用menuBar的addMenu函数就可以生成一个新的菜单项。
QMenu类addAction函数为菜单指定一个QAction。
QMainWindow中提供了自己的布局空间,所以不需要再为QMainWindow定义布局控件。
//mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QAction> #include <QMenu> #include <QMenuBar> #include <QTextEdit> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); private: QAction *open1,*exit1; QMenu *menu1; QTextEdit *edit1; private slots: void myopenfile(); void exitmywindow(); }; #endif // MAINWINDOW_H
//mainwindow.cpp #include "mainwindow.h" #include <QFileDialog> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { open1=new QAction(tr("打开"),this); //设置快捷键 open1->setShortcut(tr("Ctrl+O")); exit1=new QAction(tr("退出"),this); exit1->setShortcut(tr("Ctrl+Q")); //添加菜单 /* * 详细写法 * QMenuBar *menub1= menuBar(); * menub1->addMenu(tr("文件"));*/ menu1=menuBar()->addMenu(tr("文件")); //加入菜单项 menu1->addAction(open1); menu1->addAction(exit1); edit1=new QTextEdit(); //设置中央控件 this->setCentralWidget(edit1); //点击action /*注意:triggered()是菜单下的点击事件,并非clicked()函数*/ connect(open1,SIGNAL(triggered()),this,SLOT(myopenfile())); connect(exit1,SIGNAL(triggered()),this,SLOT(exitmywindow())); } MainWindow::~MainWindow() { } void MainWindow::exitmywindow() { this->close(); } void MainWindow::myopenfile() { QString s=QFileDialog::getOpenFileName(); }
以上是关于QT QMianWindow类的主要内容,如果未能解决你的问题,请参考以下文章
26.Qt Quick QML-RotationAnimationPathAnimationSmoothedAnimationBehaviorPauseAnimationSequential(代码片段
Qt编程遇到的问题,我在qt中直接使用C语言的程序片段,有问题 ,求解
如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用
elasticsearch代码片段,及工具类SearchEsUtil.java
Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段