当前位置: 首页 > news >正文

好的结构设计网站如何设计服装网站规划

好的结构设计网站,如何设计服装网站规划,西安网站建设专业公司,常州专业网站建设推广Qt常用类 图像处理类字体处理类尺寸处理类图标处理类定时器类 一、QPixmapQPixmap 是 Qt 框架中用于处理图像的一个核心类。用于处理图像,提供了对图像的操作功能,比如加载、保存、转换格式等。1、加载图像 可以使用 QPixmap 的构造函数或 load() 方法来…

Qt常用类

  1. 图像处理类
  2. 字体处理类
  3. 尺寸处理类
  4. 图标处理类
  5. 定时器类

一、QPixmap

QPixmap 是 Qt 框架中用于处理图像的一个核心类。用于处理图像,提供了对图像的操作功能,比如加载、保存、转换格式等。

1、加载图像

可以使用 QPixmap 的构造函数或 load() 方法来加载一个图像。

QPixmap pixmap("path/image.png");
if (pixmap.isNull()) {  // 处理加载失败的情况
}

或者

QPixmap pixmap;
if (!pixmap.load("path/image.png")) {  // 处理加载失败的情况
}
2、显示图像

在 Qt Widgets 应用中,可以使用 QLabelQPushButton等控件结合使用来显示图片。

使用 QLabel 显示图像:

QLabel label;
label.setPixmap(pixmap);
3、图像转换

缩放图片:使用scaled()方法可以改变图片的尺寸。

QPixmap scaledPixmap = pixmap.scaled(100, 100); // 缩放到100x100像素

旋转图片:通过transformed()方法配合QTransform可以实现图片的旋转。

QTransform rotateTransform;
rotateTransform.rotate(90); // 设置旋转角度为 90 度
QPixmap rotatedPixmap = pixmap.transformed(rotateTransform); // 让 pixmap 应用旋转变换

示例:

#include "form.h"
#include "ui_form.h"
#include <QPixmap>      // 图片类
#include <QLabel>       // 标签控件类,用于显示文本或图片
#include <QHBoxLayout>  // 水平布局管理器
#include <QPushButton>  // 按钮类Form::Form(QWidget *parent)   // Form类的构造函数,parent是父窗口: QWidget(parent)         // 初始化基类 QWidget, ui(new Ui::Form)        // 初始化 UI 指针
{ui->setupUi(this);        // 设置 UI 界面(Qt Designer 生成的)// 缩放QPixmap pixmap(":/checkbox_checked.png");  // 从资源文件加载图片pixmap = pixmap.scaled(20, 20);            // 缩放成 20x20 大小// 旋转QTransform t;              // 定义一个变换矩阵t.rotate(90);              // 设置旋转角度为 90 度pixmap = pixmap.transformed(t);  // 让 pixmap 应用旋转变换QLabel *qlabel = new QLabel;  // 新建一个 QLabel 用于显示图片qlabel->setPixmap(pixmap);    // 设置标签显示旋转后的图片
}

二、QFont

QFont 类用于描述字体属性,如字体族(family)、大小(point size)、粗细(weight)和斜体(italic)等。

可以使用 QFont 来设置文本控件(如 QLabel, QPushButton, QTextEdit 等)中的字体样式。

1、创建和设置字体
QFont font("Microsoft YaHei", 12, QFont::Bold); //创建了一个 Microsoft YaHei 字体,大小为 12 点,加粗。

QFont font("Microsoft YaHei", 12); // 创建一个Microsoft YaHei字体,大小为12px
font.setBold(true); // 设置字体为粗体
font.setItalic(true); // 设置字体为斜体

常见字体:宋体 SimSun、黑体 SimHei、微软雅黑 Microsoft YaHei、微软正黑体 Microsoft JhengHei、楷体 KaiTi。

2、应用字体

应用字体到控件,如QLabelQPushButton等:

QLabel *label = new QLabel("Hello, World!", this);
label->setFont(font);
3、示例
Form::Form(QWidget *parent)   // 构造函数,接收父窗口指针: QWidget(parent)         // 初始化父类 QWidget, ui(new Ui::Form)        // 初始化 UI 对象
{ui->setupUi(this);        // 设置 UI 界面(加载 Qt Designer 生成的界面)this->setWindowTitle("字体处理"); // 设置窗口标题为 "字体处理"QLabel *label = new QLabel("这里是标签");   // 创建一个标签并设置初始文本label->setFont(QFont("KaiTi", 24));        // 设置标签字体为 楷体,字号 24QPushButton *btn = new QPushButton("按钮"); // 创建一个按钮,文字是 "按钮"QFont font("黑体", 24);                     // 创建一个 QFont 对象,设置字体为黑体,字号 24font.setBold(true);                         // 设置字体加粗btn->setFont(font);                         // 将字体应用到按钮上
}
  • 最常用的就是:
    • QFont("字体名", 字号)
    • QFont("字体名", 字号, 粗细, 是否斜体)
  • 其他样式(如下划线、删除线、字间距等)需要用 成员函数 设置,例如:
font.setUnderline(true);   // 下划线
font.setStrikeOut(true);   // 删除线
font.setItalic(true);      // 斜体
font.setWeight(QFont::Bold); // 加粗

三、QSize

QSize类用来表示一个二维尺寸,通常用于指定窗口或控件的宽度和高度。

1、创建和使用
QSize size(100, 50); // 创建一个尺寸为100x50的QSize对象

在调整控件大小时使用:

QWidget *widget = new QWidget(this);
widget->resize(QSize(宽度,高度));
2、示例
Form::Form(QWidget *parent)        // 构造函数,参数 parent 指定父窗口(默认是空): QWidget(parent)              // 调用 QWidget 的构造函数,并把 parent 传递进去, ui(new Ui::Form)             // 创建 UI 对象(Qt Designer 生成的界面类)
{ui->setupUi(this);             // 绑定 UI 到当前窗口(初始化界面控件)this->setWindowTitle("尺寸处理"); // 设置窗口标题为 "尺寸处理"this->resize(QSize(300,200));  // 设置窗口初始大小:宽 300,高 200QLineEdit *edit = new QLineEdit(this); // 创建一个单行文本框 QLineEdit,并指定父控件为当前窗口edit->setMinimumSize(QSize(200, 24));  // 设置文本框的最小尺寸,宽 200,高 24
}

四、QIcon

QIcon 类用于管理图标集,这些图标可以被用于按钮、菜单项、工具栏按钮等 UI 元素上。可以从文件加载图标或者使用 QPixmap 创建图标。

1、加载和设置图标
QIcon icon(":/icons/myicon.png");  // 从资源文件加载图标
2、将图标应用到控件
QIcon icon(":/icons/my_icon.png"); // 从资源文件加载图标
QPushButton *button = new QPushButton(this);
button->setIcon(icon); // 将图标设置给按钮
3、图标大小调整

可以在使用时通过setIconSize()方法调整图标大小:

button->setIconSize(QSize(32, 32)); // 设置图标尺寸为32x32像素

给按钮添加图标:

Form::Form(QWidget *parent)            // 构造函数,参数 parent 指定父窗口(默认是空): QWidget(parent)                  // 调用 QWidget 的构造函数,并把 parent 传递进去, ui(new Ui::Form)                 // 创建 UI 对象(Qt Designer 生成的界面类)
{ui->setupUi(this);                 // 初始化并加载 Qt Designer 设计的 UI 界面this->setWindowTitle("图标处理");   // 设置窗口标题为 "图标处理"this->resize(QSize(300,200));      // 设置窗口初始大小:宽 300,高 200QPushButton *btn = new QPushButton(this); // 创建一个按钮,父控件是当前窗口btn->setText("按钮");               // 设置按钮上的文字为 "按钮"btn->resize(QSize(100, 24));       // 设置按钮大小:宽 100,高 24QIcon icon(":/checkbox_checked.png"); // 从资源文件中加载图标(路径以 :/ 开头代表 Qt 资源)btn->setIcon(icon);                // 给按钮设置图标btn->setIconSize(QSize(14,14));    // 设置按钮图标显示的大小:宽 14,高 14
}

五、QTimer

QTimer 类提供了定时触发事件的功能,常用于实现周期性任务或延时执行某个操作。

可以将 QTimer 设置为单次触发或重复触发,并且可以通过信号槽机制连接到特定的槽函数来处理定时事件。

1、创建QTimer实例

父对象被销毁时,QTimer也会自动清理。

QTimer *timer = new QTimer(parent);
2、连接timeout()信号

QTimer提供了一个timeout()信号,这个信号在设定的时间间隔到期时发射

connect(timer, &QTimer::timeout, this, &MyClass::onTimeout);
3、设置时间间隔并启动

使用start()方法来启动定时器,并指定时间间隔(以毫秒为单位)

// 设置为单次触发
timer->setSingleShot(true);
timer->start(1000); // 每隔 1000 毫秒(即 1 秒)触发一次timeout信号
4、停止定时器

使用stop()方法停止定时器

timer->stop(); // 停止定时器
5、实现显示当前时间功能,点击“开始” 按钮,点击“停止” 按钮
time = new QTimer;   // 创建一个 QTimer 定时器对象(用于定时触发信号)// 连接定时器的 timeout 信号,每次定时器溢出时执行 lambda 表达式
connect(time, &QTimer::timeout, this, [=](){ui->label->setText(QTime::currentTime().toString()); // 更新标签为当前系统时间
});// 点击“开始”按钮的槽函数
void MainWindow::on_pushButton_start_clicked()
{time->start(1000);  // 启动定时器,间隔 1000ms(即 1 秒触发一次 timeout 信号)
}// 点击“结束”按钮的槽函数
void MainWindow::on_pushButton_end_clicked()
{time->stop();       // 停止定时器,不再触发 timeout 信号
}
http://www.dtcms.com/a/400587.html

相关文章:

  • 怎么做学校官方网站网站开发技术协议
  • 在线音乐网站开发数据库wordpress文件上传系统
  • 物流成本高、效率低?智能调度或是破局关键
  • 域名注册服务的公司网站wordpress doc预览
  • 宣传 网站建设和政务公开在线医疗网站建设
  • 废品回收在哪个网站做效果好手游源码交易平台
  • 重庆建网站推广怎么做卡商网站
  • 手机网站建设一般多少钱诚信网站认证怎么做
  • 测试策略内容包含哪些
  • 深入研究SSE协议
  • 建网站书籍建行网站是多少呢
  • 泊头市网站建设广东小程序系统开发
  • 备案网站服务内容世界互联网巨头
  • 北京工程工程建设交易信息网站门户网站都在哪推广
  • 厦门有没网站建设的公司南坪做网站
  • 如何搭建高并发的在线教育系统?源码与APP开发的底层逻辑解析
  • 北京朝阳区最好的小区微信seo排名优化软件
  • 网站右侧广告家乡网站建设策划书模板
  • dede网站被黑什么是网站优化主要包括那几个
  • 香橙派(orangepi)zero扩充空间
  • 网站和app软件制作公司建筑工程网上报建流程
  • Linux 交换空间管理
  • 网站网页设计培训做企业平台的网站有哪些内容
  • 网站开发 前端 外包网站出现风险如何处理方法
  • 北京规划网站wordpress 去掉 index.php
  • 如何搭建网站赚点击网站开发作业总结
  • 赤峰是住房和城乡建设局网站萍乡网站建设公司
  • 淘宝网站开发实训报告企业网站开发报告
  • 莘县网站建设公司宝安做网站公司乐云seo
  • 如何评价网站是否做的好坏用手机自创游戏