003_QT逐梦_窗口认识QWidget

窗体widget :在QT中吧窗口称做widget不仅仅是带边框的窗口叫widget ,其他的所有边界面组件,譬如工具栏,按钮,本文框,下拉列表,复选框,都叫Widget
这些标签都继承于一个共同的父类:QWidget

继承关系:

QWidget
QButton
QLineedit
QCheckBox
其他控件

使用案例
QWidget *w = new QWidget();
w->show();

一:用代码实现一个窗口

#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	QWidget *w = new QWidget();
	w->setGeometry(100, 500, 20, 50);
	w->move(500,200);
	w->show();
	return a.exec();
}

程序效果

在这里插入图片描述

  1. *QWidget w = new QWidget(); 创建一个指针w,指向新创建的 对象QWidget();
  2. setGeometry(100, 500, 20, 50); 设置窗口大小和位置 参数1:窗口内框x坐标 2:y坐标 3:窗口的宽 4:高
  3. show(); 显示窗口
  4. new QWidget(); 开辟一个存放窗口变量的地址空间
  5. b->move(500,200) :外窗口位置。

设计c++知识点:构造函数,析构函数 new

二:窗口里面实现增加一个按键
mian.cpp


#include <QtWidgets/QApplication>
#include <QtWidgets/QWidget>
#include "Mywin.h"

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	Mywin d(NULL);
	Mywin *T = new Mywin(NULL);
	d.show();
	T->show();
	return a.exec();
}

MyWin.cpp

#include<MyWin.h>

Mywin::Mywin(QWidget*parent):QWidget(parent)
{
	m_button = new QPushButton(this);
	m_button->setText("hello");
	m_button->setGeometry(100, 100, 200, 50);	
}

Mywin::~Mywin()
{

}

MyWin.h

#ifndef  __MYWIN_H
#define  __MYWIN_H

#include<QWidget>
#include<QPushButton>

class Mywin:public QWidget
{
	Q_OBJECT

public:
	Mywin(QWidget *parent);
	~Mywin();
private:
	QPushButton *m_button;

};

#endif  //MYWIN_H

在这里插入图片描述

3改进版本

main.cpp


#include <QtWidgets/QApplication>
#include<MyWin.h>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	MyWin *w = new MyWin(NULL);
	w->setGeometry(500, 500, 600, 300);
	w->show();
	return a.exec();
}

MyWin.cpp

#include<MyWin.h>


MyWin::MyWin(QWidget *parent) :QWidget(parent)
{
	m_lineEdit = new QLineEdit(this);
	m_lineEdit->setGeometry(30, 0, 300, 50);

	m_button = new QPushButton(this);
	m_button->setText("hello");
	m_button->setGeometry(400, 0, 100, 50);

	m_plainTextEdit = new QPlainTextEdit(this);
	m_plainTextEdit->setGeometry(30, 70, 500, 80);



}
MyWin::~MyWin()
{

}

MyWin.h

#ifndef __MYWIN_H
#define __MYWIN_H

#include<QWidget>
#include<QPushButton>
#include<QLineEdit>
#include<QPlainTextEdit>   /*文本框*/

class MyWin : public	QWidget
{
	Q_OBJECT
public:
	MyWin(QWidget *parent);
	~MyWin();  
private:
	QPushButton*m_button;
	QLineEdit*m_lineEdit;
	QPlainTextEdit*m_plainTextEdit;

};


#endif 

在这里插入图片描述

话说这个VS界面是真的漂亮

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值