设为首页 加入收藏

TOP

QT入门学习记录01(二)
2023-08-06 07:49:41 】 浏览:163
Tags:习记录
p;);

我们先看上面的那种方式,其中x和y是指以你桌面的左顶点为(0,0)来进行计算

img

比如说我们要将这个窗口位置设置在中心位置,窗口的宽度和高度分别为600和400,那么代码如下:

setGeomentry(1920 / 2, 1080 / 2, 600, 400);

运行代码后窗口出现的位置就在中心:

img

这里为什么是1920/2和1080/2,因为我的电脑桌面的分辨率就是为1920和1080。

也可以用实例化变量来调用设置:

widget.setGeomentry(1920 / 2, 1080 / 2, 600, 400);

如果使用第二种方式,需要先创建一个QRect对象,然后把这个对象放在形参的位置即可:

QRect rect = QRect(1920/2, 1080/2, 600, 400);
this->setGeometry(rect);

1.3 显示窗口

这里使用的函数是

show();

我们在main.cpp中是见到过的,当时实例化Widget这个类后,用实例化对象中的show()方法就显示出该窗口了。

widget.show();

1.4 隐藏窗口

使用的函数是:

hide();

这个是可以隐藏QWidget创建的窗口,使用的方法就是直接用实例化出来的实例化对象.hide()

widget.hide();

1.5 改变窗口大小

这里使用的方法是:

void resize(int w, int h)

填写的参数很简单,就是窗口改变后的宽和高。

比如说我没有使用setGeomentry()更改窗口的位置,那我就可以使用这个函数对窗口进行更改大小:

resize(600, 400);

当然你也可以直接直接用实例化对象来调用这个方法:

widget.resize(600, 400);

1.6 设置窗口的位置

如果你想单独修改窗口的位置,并不想修改大小就可以使用这个函数

void move(int x, int y);

也有一个重载的

void move(const QPoint &);

其实都差不多

move(600, 400);
widget.move(600, 400);
QPoint point = QPoint(600, 400);
widget.move(point);

1.7 刷新窗口

使用的函数是:

void QWidget::update();

更新窗口的一些小部件

2.QDialog

QDialog一般用来实现对话框,对话框分为模块化对话框和非模块化对话框。

模块化对话框是在主窗口的顶层,如果不解决这个对话框,那么没办法和主窗口进行交互。

非模块化对话框和模块化相反,当激活对话框后不会阻塞主窗口,让你的主窗口也能和用户进行交互。

这个控件也有一些基本的方法,比如说:show()exec()move()resize()hide()setGeomentry()setGeomentry()

2.1 QDialog对话框

一般使用这个控件是来做一个对话框的,比如说我在上面刚才创建好的工程中添加一下用继承QDialog的函数写一个弹出的对话框。

首先在Headers文件夹右键选择Add New

img

然后再里面选择C++ Header File

img

然后点击下一步,再这取一个名字即可,这里叫Dialog.h

img

然后再右键Sources文件夹,还是和上面一样的,只不过需要选择C++ Source File。这里叫Dialog.cpp

然后在Dialog.h中写上下面的代码:

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>

//QT_BEGIN_NAMESPACE
//namespace Ui { class Widget; }
//QT_END_NAMESPACE

class Dialog:public QDialog{
    public:
        Dialog();
        ~Dialog();
};

#endif // DIALOG_H

Dialog.cpp中将析构函数和构造函数都实现一下,但是里面没有东西:

#include "Dialog.h"

Dialog::Dialog(){

}

Dialog::~Dialog(){

}

因为我懒得加,你也可以加一个改变标题的方法。

Dialog::Dialog(){
    setWindowTitle("this is message");
}

然后在widget.cpp中实例化一下对象,然后创建一个按钮并且连接一下:

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton* button1 = new QPushButton;
    button1->setParent(this);
    button1->setText("dian yi xia");
    connect(button1, &QPushButton::clicked, [=](){
        this->dialog.show();
    });
}

这里看不懂没关系,先了解一下,后面会慢慢说一下的。

运行的结果就是在Widget的页面中有一个按钮,你点一下它就会跳出一个我们刚才创建的一个页面。

总结

Qt真的很简单,大家多查查资料就可以了。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++ LibCurl 库的使用方法 下一篇【VS Code 与 Qt6】QAction 类的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目