Qt之QMainWidget相关
QMainWindow
继承于QWidget的子类
自带一个菜单栏,一个工具栏,可以设置状态栏与铆钉部件
菜单栏:QMenuBar
注意:一个窗口最多一个菜单栏
API:创建
QMenuBar(parent)
获取QMainWindow自带的菜单栏
QMenuBar* menuBar()
添加菜单:QMenu
addMenu(QMenu *menu);
菜单添加活动:QAction
addAction(QAction* action);
菜单添加分割线
addSeparator()
菜单添加菜单
addMenu(QMenu * menu);
活动设置快捷键
void setShortcut(const QKeySequence &shortcut)
如:
action.setShortcut(tr("键1+键2"))
添加菜单栏
void setMenuBar(QMenuBar *menuBar)
工具栏:QToolBar
一个窗口可以有多个
QWidget无法设置工具栏
API
创建
QToolBar(parent)
添加
void addToolBar(QToolBar * toolbar);//默认位置在顶部
void addToolBar(Qt::ToolBarArea area,QToolBar *toolbar);
添加活动
addAction(QAction * action)
添加分割线
addSeparator()
设置可停靠位置
void setAllowedAreas(Qt::ToolBarAreas areas)
设置是否可以拖动void setMovable(bool movable)
状态栏:QStatusBar
注意:一个窗口一个
API:
创建
QStatusBar(parent)
获取QMainWidow 自带的状态栏QStatusBar *statusBar() const添加活动addAction()添加WidgetaddWidget()void addPermanentWidget(QWidget *widget, int stretch = 0)
铆钉部件:QDockWidget
注意:
可以有多个
又名浮动窗口API:创建QDockWidget添加void addDockWidget(Qt::DockWidgetArea area, QDockWidget *dockwidget)设置内容void setWidget(QWidget *widget)
中心控键
对话框
QMessageBox:消息对话框
void about(QWidget *parent, const QString &title, const QString &text)void warning(QWidget *parent, const QString &title, const QString&text, StandardButtons buttons = Ok, StandardButton defaultButton =NoButton)StandardButton critical(QWidget *parent, const QString &title, constQString &text, StandardButtons buttons = Ok, StandardButtondefaultButton = NoButton)StandardButton information(QWidget *parent, const QString &title,const QString &text, StandardButtons buttons = Ok, StandardButtondefaultButton = NoButton)StandardButton question(QWidget *parent, const QString &title, constQString &text, StandardButtons buttons = StandardButtons( Yes | No ),StandardButton defaultButton = NoButton)
QFileDialog
QString getOpenFileName(QWidget *parent = Q_NULLPTR, const QString&caption = QString(), const QString &dir = QString(), const QString&filter = QString(), QString *selectedFilter = Q_NULLPTR, Optionsoptions = Options())
QColorDialog
QColor getColor(const QColor &initial = Qt::white, QWidget *parent =Q_NULLPTR, const QString &title = QString(), ColorDialogOptionsoptions = ColorDialogOptions())
QFontDialog
QFont getFont(bool *ok, const QFont &initial, QWidget *parent =Q_NULLPTR, const QString &title = QString(), FontDialogOptions options= FontDialogOptions())
常用组件
QLable
展示文本 , 展示图片 , 展示视频
APIsetTexttextsetPixmapsetMovie
QLineEdie
作用:
单行输入框,可作为搜索框,账号,密码输入框等
APIsetTexttextsetEchoMode信号void textChanged(const QString &text)
QRadioButton
作用:
单选按钮
信号:
void clicked(bool checked = false);
QCheckBox
作用:
多选按钮
信号:
void stateChanged(int state)
布局
原则:
从外向内
从上向下
从左向右
布局使用:
QWidget+弹簧
定时器
作用:
间隔延迟执行
分类:
1,定时器函数
2,定时器对象
定时器函数
概念 : 由 QObject 提供的一个虚函数函数 :protected virtual void timerEvent(QTimerEvent *event)使用 :在使用的窗口中重写timerEvent 函数启动定时器int startTimer(int interval, Qt::TimerType timerType = Qt::CoarseTimer)参数1:间隔时间,单位毫秒返回值:开启的定时器id相关函数 : 关闭定时器void killTimer(int id);参数:要关闭的定时器id
定时器对象
概念 : 由 QT 提供的一个类 QTimer相关函数 :创建QTimer(QObject *parent = Q_NULLPTR);启动void start(int msec);参数:延迟时间void start();停止void stop();信号void timeout(QPrivateSignal);使用 :1,创建定时器对象2,绑定信号与槽3,启动定时器4,停止定时器
高级控件
QListWidgetQTableWidgetQTreeWidgetQToolBoxQTabWidget
就不一一赘述了,可以在Qt中多多尝试就会有所熟悉
自定义控件
步骤:
1,创建
2,编写
3,使用
事件
1, 事件过滤器virtual bool eventFilter注意 : 需安装this->installEventFilter(this);2, 事件分发器virtual bool event3, 事件virtual void mouseMoveEvent(QMouseEvent* event); //鼠标拖拽移动virtual void mousePressEvent(QMouseEvent* event); //鼠标按钮按下virtual void mouseReleaseEvent(QMouseEvent* event); //鼠标按钮抬起...