signal 发送的信号
signals:
//自定义信号 返回值是void,只需声明,不需实现,可以有参数,可以重载
按钮
1.inherited(继承) from QAbstractButton:
(1) clicked(bool checked = false)
(2) pressed()
(3) released()
(4) toggled(bool checked)
slot 槽 信号的接收
1.QWidget :: public slot;
public slots:
//早期QT必须写在public slots下,高级版本可以写在public或全局下
、、返回值void 需声明和 实现。
connect
connect (信号的发送者,发送的信号(放入的是函数的地址)(继承自多个父类),信号接收者(窗口等),处理槽函数);
connect(button, &MyPushButton::clicked, this, &myWidget::close)
QT4 版本connect可在QT5中使用
connect(发送者,SIGNAL(函数),接收者,SLOT(槽函数));
Qwidget 空窗口
信号与槽函数的数据传递
传入信号的参数会与绑定的槽函数中类型及名称相同的数据自动绑定。
https://blog.csdn.net/Aoutlaw/article/details/78887502
信号&槽重载
用函数指针区别重载信号和重载槽函数
disconnect断开连接
菜单栏
创建菜单栏(#include <QmenuBar>)(只能有一个)
QMenuBar * bar = menuBar
setMenuBar(bar);//将菜单栏放入到窗口
QMenu * fileName = bar -> addMenu(“菜单的名称”);//会自动编排
创建菜单项
QAction * newAction = fileName -> addAction(“菜单项名称”);//会自动编排
fileName -> addSeparator();//添加分隔线
创建工具栏(#include <QToolBar>)(可拖拽)
QToolBar * toolBar = new QToolBar(this);
addToolBar(toolBar);
addToolBar(QT::L/R/T/B/ALL/NO,toolBar);//使用帮助获取QT相关常量。
toolBar->setAllowedAreas( QT::L~~ | QT::R~~);//设置浮动窗口停靠范围
toolBar->setFloatable( True/False ); //设置是否可停靠
toolBar->setMovable( T/F ); //设置是否可移动
创建状态栏(#include <QStatusBar>)(只能有一个)
statusBar * stBar = StatusBar();//创建
setStatusBar(stBar);//放入窗口中
标签控件(#include <QLabel>)
QLabel *label = new QLabel(“提示信息”,*parent );
stBar -> addWidget(label);//左侧提示
stBar -> addPermanentWidget(label);//右侧提示
创建浮动部件(#include <QDockWidget>)(可拖拽为新窗口)
QDockWidget *dockWidget = new QDockWidget(“标题”,*parent);
addDockWidget(QT::位置,部件(dockWidget));
dockWidet -> setAllowedAreas(位置);//设置部件可使用位置
创建中心部件( #include <QTextEdit>)(只能一个)
QTextEdit* edit = new QEdit(this);
setCentralWidget(edit);
补充:
explicit修饰的构造函数不能存在隐式类型转化。