Qt学习记录(3)——创建类以及简单函数调用
文章目录
- 一、创建一个按钮
- 1.1、头文件
- 1.2、创建一个按钮,并显示
- 二、新方法创建按钮
- 三、移动按钮
- 四、修改窗口标题
- 六、固定窗口大小
一、创建一个按钮
在这个文件中进行编辑
1.1、头文件
要创建类,是不是需要调用头文件
#include <qpushbutton.h>
1.2、创建一个按钮,并显示
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
btn -> show();
}
myWidget::~myWidget()
{
}
show();他自己会产生一个窗口并显示,而我们不想让他单独显示,所以我们还要修改代码
调用 setParent();函数
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
//btn -> show();
//让对象依赖在我(this)的窗口上
btn -> setParent(this);
}
myWidget::~myWidget()
{
}
如何在按钮上写字呢
调用文本函数 setText();
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
//btn -> show();
//让对象依赖在我的窗口上
btn -> setParent(this);
//写字
btn -> setText("我的第一个按钮");
}
myWidget::~myWidget()
{
}
二、新方法创建按钮
通过F1,查看帮助过后
我们可以直接这样使用:
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
QPushButton *btn2 = new QPushButton("第二个按钮",this);
}
myWidget::~myWidget()
{
}
但是这里报警了,因为这样生成的东西是按照你的类大小来定义窗口的。但是下面提醒了size。
我们可以用resize来初始化窗口。
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
// //定一个按钮 //本来没有嘛,我们直接new一个
// QPushButton *btn = new QPushButton;
// //通过show显示
// //btn -> show();
// //让对象依赖在我的窗口上
// btn -> setParent(this);
// //写字
// btn -> setText("我的第一个按钮");
//第二种方法创建按钮
QPushButton *btn2 = new QPushButton("第二个按钮",this);
//定义从窗口大小
resize(600,400);
}
myWidget::~myWidget()
{
}
三、移动按钮
移动:move
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
//btn -> show();
//让对象依赖在我的窗口上
btn -> setParent(this);
//写字
btn -> setText("我的第一个按钮");
//第二种方法创建按钮
QPushButton *btn2 = new QPushButton("第二个按钮",this);
//移动btn2
btn2 -> move(200,200);
//定义从窗口大小
resize(600,400);
}
myWidget::~myWidget()
{
}
这样就把btn2 (0,0)移动到(200,200).
四、修改窗口标题
我英语不好,我看着这个英文就不舒服。我想把它变为中文。
窗口标题的英文是是什么呢:setWindowTitle();
所以调用这个函数。
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
//btn -> show();
//让对象依赖在我的窗口上
btn -> setParent(this);
//写字
btn -> setText("我的第一个按钮");
//第二种方法创建按钮
QPushButton *btn2 = new QPushButton("第二个按钮",this);
//移动btn2
btn2 -> move(200,200);
//定义从窗口大小
resize(600,400);
//设置窗口的标题
setWindowTitle("我的窗口");
}
myWidget::~myWidget()
{
}
这下舒服多了
六、固定窗口大小
现在我们会发现我们虽然对窗口进行了初始化,但是我们还是可以拖动他,改变窗口的大小。我不想让他改变,怎么办呢
调用setFixedSize();
#include "mywidget.h"
#include <QPushbutton>
myWidget::myWidget(QWidget *parent)
: QWidget(parent)
{
//定一个按钮 //本来没有嘛,我们直接new一个
QPushButton *btn = new QPushButton;
//通过show显示
//btn -> show();
//让对象依赖在我的窗口上
btn -> setParent(this);
//写字
btn -> setText("我的第一个按钮");
//第二种方法创建按钮
QPushButton *btn2 = new QPushButton("第二个按钮",this);
//移动btn2
btn2 -> move(200,200);
//定义从窗口大小
resize(600,400);
//设置窗口的标题
setWindowTitle("我的窗口");
//固定窗口的大小
setFixedSize(600,400);
}
myWidget::~myWidget()
{
}
这样我们的窗口就不会被改变了。
25岁在线吃土: 链接:https://pan.baidu.com/s/1TgQinV0BexJKnNqRGzyNCg?pwd=o4t8
HAOKER_HAN: 感谢,解决了我部分函数封装的问题
AYu~: 试过了,没有用
weixin_47655925: 哥哥,想问问这个代码是模仿写出来的吗?
m0_51060098: 请问具体是在哪个地方加这两行代码啊?