Qt入门(动作、布局管理器、菜工状)
来源:互联网 发布:网络禁书100本百度云 编辑:程序博客网 时间:2024/04/19 09:28
MainWindow
添加动作 QAction类
#include <QAction>#include <QMenuBar>#include <QToolBar>#include <QStatusBar>#include <QMessageBox>#include "mainwindow.h"#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent){ setWindowTitle(tr("Main Window")); openAction = new QAction(QIcon(":/images/doc-open"), tr("&Open..."), this); openAction->setShortcuts(QKeySequence::Open); openAction->setStatusTip(tr("open an existing file")); connect(openAction, &QAction::triggered, this, &MainWindow::open); QMenu *file = menuBar()->addMenu(tr("&File")); file->addAction(openAction); QToolBar *toolBar = addToolBar(tr("&File")); toolBar->addAction(openAction); statusBar();}MainWindow::~MainWindow(){}void MainWindow::open(){ QMessageBox::information(this, tr("Information"), tr("open"));}
moc
- Qt 的 moc 预处理发生在标准 C++ 预处理器工作之前,并且 Qt 的 moc 预处理不是递归的
- QObject是以对象树的形式组织起来的。当你创建一个QObject对象时,会看到QObject的构造函数接收一个QObject指针作为参数,这个参数就是 parent,也就是父对象指针。
- QWidget是能够在屏幕上显示的一切组件的父类。QWidget继承自QObject。
- C++ 不允许调用两次析构函数
布局管理器
#include <QApplication>#include "mainwindow.h"#include <QSlider>#include <QSpinBox>#include <QHBoxLayout>int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget window; window.setWindowTitle("Enter your age"); QSpinBox *spinBox = new QSpinBox(&window); QSlider *slider = new QSlider(Qt::Horizontal, &window); spinBox->setRange(0, 130); slider->setRange(0, 130); QObject::connect(slider, &QSlider::valueChanged, spinBox, &QSpinBox::setValue); void (QSpinBox:: *spinBoxSignal)(int) = &QSpinBox::valueChanged; QObject::connect(spinBox, spinBoxSignal, slider, &QSlider::setValue); spinBox->setValue(35); QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinBox); layout->addWidget(slider); window.setLayout(layout); window.show(); return app.exec();}
5种布局:
QHBoxLayout:按照水平方向从左到右布局;
QVBoxLayout:按照竖直方向从上到下布局;
QGridLayout:在一个网格中进行布局,类似于 HTML 的 table;
QFormLayout:按照表格布局,每一行前面是一段文本,文本后面跟随一个组件(通常是输入框),类似 HTML 的 form;
QStackedLayout:层叠的布局,允许我们将几个组件按照 Z 轴方向堆叠,可以形成向导那种一页一页的效果。
菜单栏工具栏状态栏
- 具体实例参见《添加动作》部分
- menuBar()是QMainWindow提供的函数,因此你是不会在QWidget或者QDialog中找到它的
- menuBar()等函数创建对象并返回
- QToolBar以及QStatusBar都是QWidget的子类,因此我们就可以将其结合布局管理器添加到另外的QWidget上面。QLayout布局提供了setMenuBar()函数,可以方便的添加菜单栏。
0 0
- Qt入门(动作、布局管理器、菜工状)
- Qt布局管理器入门
- Qt布局管理器的使用(一)
- Qt布局管理器的使用(二)
- Qt之自定义布局管理器(QCardLayout)
- Qt之自定义布局管理器(QFlowLayout)
- Qt之自定义布局管理器(QBorderLayout)
- Qt学习笔记(一)布局管理器
- QT学习笔记(3)布局管理器
- 使用QT布局管理器
- Qt 布局管理器
- Qt中的布局管理器
- Qt 布局管理器
- Qt之布局管理器
- QT布局管理器
- Qt 布局管理器
- Qt中的布局管理器
- 浅谈QT布局管理器
- Yii之路(第四)
- 04_item简单平移动画
- 05_item平移动画监听
- Yii之路(第五)
- c++作业3
- Qt入门(动作、布局管理器、菜工状)
- 关于Eclipse CDT中EOF的输入方式
- CocoaPods 笔记
- MAC查看端口占用情况
- 一道关于返回指针和返回数组名的面试题
- 二叉树应用——堆排序
- CodeForces 173B Chamber of Secrets(最短路)
- Activity四种启动模式
- 06_判断service是否运行