qt按键的大小_5.从零开始创建一个QT窗口按钮

如何创建一个QT项目

如何创建一个QT项目

1.创建新项目

2.配置选择

3.增加按钮

4.按钮和窗体的大小标签图标设置

5.信号与槽

6.自定义信号与槽

代码

1.创建新项目

点击文件->新建项目->

Application->Qt Widgets Application->

choose.

2.配置选择

名称->路径->

Kit Selection->MinGW->

类名->基类:QWidget->不创建界面->

项目管理.

3.增加按钮

#ifndef MAINWIDGET_H

#define MAINWIDGET_H

#include

#include

class MainWidget : public QWidget

{

Q_OBJECT

public:

explicit MainWidget(QWidget *parent = nullptr);

private:

QPushButton *MainButton_1;

signals:

public slots:

};

#endif // MAINWIDGET_H

#include

QPushButton *MainButton_1;

先包含一个按钮的头文件,再实例化这个按钮.

按钮的实例化有两种:

QPushButton MainButton_1;

QPushButton *MainButton_1;

MainButton_1 =new QPushButton("按钮名",父类);

一种为直接实例化,另一种先实例化一个指针,再对该指针分配内存空间.

按钮一定要设置父类,否则无法显示,推荐父类设置this.

4.按钮和窗体的大小标签图标设置

MainButton_1->resize(1000,500);//重新设置尺寸

this->setFixedHeight(500);//设置高度不可更改

this->setFixedWidth(500);//设置宽度不可更改

this->setFixedSize(500,500);//设置高和宽不可更改

this->setWindowTitle("B2Button");//设置窗口标题

this->setWindowIcon(QIcon("C:\\Users\\17655\\OneDrive\\图片\\鬼刀\\50.jpg"));//设置图标

5.信号与槽

signals://信号位

public slots://槽位

先实现一个简单的功能:

connect(MainButton_1,&QPushButton::clicked,this,&MainWidget::close);

connect(信号发出者,信号名字,信号接收者,接收处理);

函数的效果为点击按钮时关闭窗口.

6.自定义信号与槽

首先我们先在发送端的头文件signals:下定义一个信号

void Send_Open(void);

信号只需声名不需要定义!

然后我们再定义一个函数用于发送信号,emit.

void MainWidget::sub_Send(void)

{

emit Send_Open();

}

接下来再定义一个槽函数,位于接收端头文件的

public slots:

void Cao_1(void);

并实现它:

void Sec_Widget::Cao_1(void)

{

this->show();

}

最后使用connect连接:

//连接按钮1和信号的发送函数.

connect(MainButton_1,&QPushButton::clicked,this,&MainWidget::sub_Send);

//连接信号与槽函数

connect(this,&MainWidget::Send_Open,&w2,&Sec_Widget::Cao_1);

//当槽函数触发时,打开二号窗口

代码

MainWidget.h

#ifndef MAINWIDGET_H

#define MAINWIDGET_H

#include

#include

#include "sec_widget.h"

class MainWidget : public QWidget

{

Q_OBJECT

public:

explicit MainWidget(QWidget *parent = nullptr);

void sub_Send(void);

private:

QPushButton *MainButton_1;

Sec_Widget w2;

signals:

void Send_Open(void);

public slots:

};

#endif // MAINWIDGET_H

MainWidget.cpp

#include "mainwidget.h"

MainWidget::MainWidget(QWidget *parent) : QWidget(parent)

{

MainButton_1=new QPushButton("MainButton_1",this);

setFixedSize(500,500);

setWindowTitle("MainWindow");

MainButton_1->setFixedSize(200,100);

connect(MainButton_1,&QPushButton::clicked,this,&MainWidget::sub_Send);

connect(this,&MainWidget::Send_Open,&w2,&Sec_Widget::Cao_1);

}

void MainWidget::sub_Send(void)

{

emit Send_Open();

}

Sec_Widget.h

#ifndef SEC_WIDGET_H

#define SEC_WIDGET_H

#include

class Sec_Widget : public QWidget

{

Q_OBJECT

public:

explicit Sec_Widget(QWidget *parent = nullptr);

signals:

public slots:

void Cao_1(void);

};

#endif // SEC_WIDGET_H

Sec_Widget.cpp

#include "sec_widget.h"

Sec_Widget::Sec_Widget(QWidget *parent) : QWidget(parent)

{

//构造函数

}

void Sec_Widget::Cao_1(void)

{

this->show();

}

main.cpp

#include "mainwidget.h"

#include

int main(int argc, char *argv[])

{

QApplication a(argc, argv);

MainWidget w;

w.show();

return a.exec();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值