1.按钮操作
对应视频P4:
#include "mywidget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
//A应用程序对象,在QT中,应用程序对象有且仅有一个
QApplication a(argc, argv);
//窗口对象, Mywidget父类继承了Qwidget
myWidget w;
w.show();//show是以顶层方式弹出窗口控件
//让应用程序对象进入消息循环(窗口不会一闪而过)
//让代码卡到这行(除非你点了某个按钮)
return a.exec();
}
对应视频P5: 按钮操作
#include "mywidget.h"
#include <QPushButton>
myWidget::myWidget(QWidget *parent)
: QMainWindow(parent) //触发列表
{
//创建一个按钮
QPushButton * btn = new QPushButton;
//btn->show(); //show是以顶层方式弹出
//所以我们要让btn对象依赖在我们的窗口中
btn->setParent(this); //指向当前对象(也就是Mywidget)
btn->setText("FirstButton"); //设置文本
//创建第二个按钮,按照控件大小创建窗口
QPushButton *btn2 = new QPushButton("Second",this);
//移动btn2,防止覆盖掉btn1
btn2->move(100,100);
//重置窗口大小
resize(600,400); //w宽, h 高
//设置固定窗口大小
setFixedSize(600,400);
//设置窗口标题
setWindowTitle("meTest");
}
myWidget::~myWidget()
{
}
Tips:
当创建的对象在堆区时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,将对象会放入到对象树中。
(析构的时候,关闭了窗口,即析构掉了所有的子类(里面的按钮之类的7788的东西))
2.信号和槽函数
信号和槽:
槽(slot)的意思就是对收到信号(signal)的处理方式(入关闭,隐藏之类的)。
connect:
参数1 信号的发送者
参数2 发送的信号(函数地址)
参数3 信号的接受者
参数4 处理的槽函数 (函数的地址)
//实现需求,点击按钮关闭窗口 (利用松散耦合接到槽(就是信号的处理))在assistant的Qpushbutton里面找singnal
//信号的发送者/信号/信号接受者/处理的槽函数
connect(mybtn,