首页 > 其他分享 >二、UI入门

二、UI入门

时间:2023-10-30 17:07:06浏览次数:25  
标签:Dialog 入门 int QPushButton UI QWidget 100 btn


1. QWidget类

QWidget类是Qt所有图形用户界面(组件)的基类,因此QWidget类内部规定了所有最基础的UI相关功能。

二、UI入门_qt


例如以下成员:

● width : const int 宽度(单位:像素,后文同)

二、UI入门_qt开发_02


Qt中的getter和setter属性都在Access functions下面

● height : const int 高度

// 修改宽高可以使用此函数
// 参数1:宽度
// 参数2:高度
void	resize(int w, int h)

● x : const int
横坐标,在计算机中原点在左上角,x轴正方向向右
● y : const int
纵坐标,y轴正方向向下

// 移动坐标,以组件的左上角为准,包括边框
// 参数1:横坐标
// 参数2:纵坐标
void	move(int x, int y)
// 同时设置宽高与坐标
// 参数1:横坐标
// 参数2:纵坐标
// 参数3:宽度
// 参数4:高度
void	QWidget::setGeometry(int x, int y, int w, int h)

2. 子组件

之前的窗口都是内容为空的,实际上一个窗口内部必然会有组件对象(常见如按钮、图片等),本节以按钮类QPushButton为例,讲解如何显示到窗口中。
// QPushButton的构造函数
// 参数1:按钮显示的文字,QString是Qt的字符串类型,后续讲
// 参数2:父组件对象
QPushButton::QPushButton(const QString & text, 
                         QWidget * parent = 0)
#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
// 头文件
#include <QDebug>
#include <QPushButton> // 按钮类

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();

private:
    QPushButton* btn; // 成员变量!
};

#endif // DIALOG_H
#include "dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    // 默认编译器会使用this(即主函数的对象w)
    this->resize(400,800);
    this->move(100,100);
    // 创建一个按钮对象(堆内存!)
    btn = new QPushButton("你好",this);
    // 设置宽高位置
    btn->setGeometry(100,100,100,100);
}

Dialog::~Dialog()
{
    delete btn;
    qDebug() << "析构函数";
}

记录

二、UI入门_#include_03


按钮组件记录:

标签:Dialog,入门,int,QPushButton,UI,QWidget,100,btn
From: https://blog.51cto.com/u_14458591/8095379

相关文章

  • 硬件测试快速入门你必须了解的知识!
    硬件测试工程师这个职位越来越吃香,相对纯技术开发而言,要求不是那么高,但又需要一定技术含量。对于想从事技术领域,技术又不是那么自信的可以选择测试岗位,在测试中积累经验,晋升做技术开发,算是一个不错的过渡职位,对于想要从事技术领域的女生来说,也非常适合。测试工具的选择主要有以下......
  • 一种通用的arduino通信例程
    本教程将给出一种通用的,适用于arduino(uno和mega等)单片机的一个通信的教程,通过对例程的修改,可以做成任意的符合需求的代码,下面请看。//函数定义StringdetectString_openmv();intrecv_order();StringdetectString_openmv()//判断传入的字符串能否被接收{//我们传入......
  • x-ui
    x-ui1.安装在vps输入以下命令:bash<(curl-Lshttps://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)2.更新脚本vps输入:x-uivps输入:0vps输入:wget-N--no-check-certificate"https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp......
  • 数据集成实现以及平台安装部署入门
    ETLCloud是什么?ETLCloud提供了一套工具和服务,用于将数据从不同的来源抽取(Extract)、转换(Transform)和加载(Load)到目标系统中。ETL代表了这个过程的三个主要步骤。抽取(Extract):从不同的数据源中获取数据,可以是关系型数据库、文件、Web服务或其他数据存储系统。ETLCloud提供了各种连接器......
  • mysql优化入门
    查看慢sqlSelect*frominformation_schema.processlist;Show[full]processlist;不加full只能显示前100字符 通过慢日志Slowquerylog记录时间超过long_query_time的SQLlog_slow_admin_statements记录ALTERTABLE,ANALYZETABLE,CHECKTABLE,CREATEINDEX,DROPINDE......
  • TypeScript入门到精通——TypeScript类型系统基础——类
    类 JavaScript是一门面向对象的编程语言,它允许通过对象来建模和解决实际问题。同时,JavaScript也支持基于原型链的对象继承机制。虽然大多数的面向对象编程语言都支持类,但是JavaScript语言在很长一段时间都没有支持它。在JavaScript程序中,需要使用函数来实现类的功能。 ......
  • 一、小程序简单入门
     1.下载微信开发者工具概览|微信开放文档(qq.com)2.查看官网文档(开发->指南->起步、目录结构、配置小程序)简单了解小程序的文件架构3.发送HTTP请求(js文件中操作)3.1wx.request(json),发送https请求时需要将外部网站添加到小程序后台(开发->开发管理->开发设置->服......
  • TypeScript入门到精通——TypeScript类型系统基础——类型别名
    类型别名 如同接口声明能够为对象类型命名,类型别名声明能够为TypeScript中的任意类型命名。一、类型别名声明 类型别名声明能够定义一个类型别名,它的基本语法如下所示:typeAliasName=Type 在该语法中,type是声明类型别名的关键字;AliasName表示类型别名的名称;Ty......
  • 使用Lombok@Builder、@Data(没有生成无参构造方法)这个坑要注意,使用@Builder时配合@NoAr
    使用Lombok@Builder、@Data(没有生成无参构造方法)这个坑要注意,,使用@Builder时配合@NoArgsConstructor和@AllArgsConstructor一起使用Lombok为我们开发带来了极大便利,特别是在想要使用建造者模式的时候只需要在类上加@Builder注解即可。但是不小心也会引发隐藏的bug。我们来看......
  • CVer从0入门NLP(一)———词向量与RNN模型
    ......