窗口基类QWidget

1、所有窗口类的基类,比如QMainWindow、QDialog

2、所有控件类的基类,比如按钮、输入框、单选框等

3、可以内嵌到其他窗口的内部,此时需要指定父窗口,也就是构造函数中的parent参数

4、可以作为独立的窗口显示

5、可以把他理解为html里面的div,内部可以装很多其他控件

独立显示:

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //独立显示,不需要指定父窗口,SubWidget继承自QWidget
    SubWidget* sub_widget=new SubWidget();
    sub_widget->setWindowTitle("SubWindow");

    //需要自己调用show()方法 才能够显示出来
    sub_widget->show();

}

 

 内嵌显示:相当于作为容器

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //内嵌显示,需要指定父窗口
    SubWidget* sub_widget=new SubWidget(this);
    sub_widget->setStyleSheet("background-color:rgb(255,0,0);border:1px solid black");
    //不需要自己调用show()方法,父窗口调用就可以了

}

 

 常用方法:

设置窗口的几何信息:

// 获取相对于当前窗口父窗口的几何信息:宽高、坐标点信息
const QRect &geometry() const;

void setGeometry(int x, int y, int w, int h);
void setGeometry(const QRect &);

 移动窗口:

// 重新设置窗口的位置
void move(int x, int y);
void move(const QPoint &);

 设置窗口尺寸:

QSize size() const
void resize(int w, int h);
void resize(const QSize &);

 设置最大、最小尺寸:

QSize maximumSize() const;
void setMaximumSize(const QSize &);
void setMaximumSize(int maxw, int maxh);

QSize minimumSize() const;
void setMinimumSize(const QSize &);
void setMinimumSize(int minw, int minh);

 设置固定尺寸:

void QWidget::setFixedSize(const QSize &s);
void QWidget::setFixedSize(int w, int h);

 

 单独设置窗口的高度:

//获取
int height() const;
int minimumHeight() const;
int maximumHeight() const;

//设置
void setFixedHeight(int h);
void setMaximumHeight(int maxh);
void setMinimumHeight(int minh);
void QWidget::setFixedSize(int w, int h);

 单独设置窗口的宽度:

//获取
int width() const;
int minimumWidth() const;
int maximumWidth() const;

//设置
void setFixedWidth(int w);
void setMaximumWidth(int maxw);
void setMinimumWidth(int minw);

设置窗口标题和图标:

// 获取和设置窗口的标题
QString windowTitle() const;
void setWindowTitle(const QString &);‘’

// 获取和设置窗口的图标
QIcon windowIcon() const;
void setWindowIcon(const QIcon &icon);

 一些常用的槽函数:

//这些槽函数也是可以单独调用的
// 最大化显示
void showMaximized();

// 最小化显示
void showMinimized();

// 正常显示
void showNormal();

// 关闭窗口
bool close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值