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

游戏开发比网站开发十大最靠谱培训机构

游戏开发比网站开发,十大最靠谱培训机构,济南建设集团有限公司,成都网站建设策划1. Designer 设计师(掌握) Qt包含了一个Designer程序,用于通过可视化界面设计开发界面,保存的文件格式为.ui(界面文件)。界面文件内部使用xml语法的标签式语言。 在Qt Creator中创建项目时,选中…
1. Designer 设计师(掌握)

Qt包含了一个Designer程序,用于通过可视化界面设计开发界面,保存的文件格式为.ui(界面文件)。界面文件内部使用xml语法的标签式语言。

在Qt Creator中创建项目时,选中界面文件选项,可以让自带的窗口类使用界面文件。

可以看到在项目中会增加一个界面文件,双击此文件,可以直接使用内置的Designer程序打开并设计。

所有Designer中的操作都可以通过C++代码实现。

2. 布局 Layout(掌握)

可以把布局看做是一个透明的盒子,内部可以放置子组件,这些内部的子组件会按照布局预设的规则自动排序。

垂直布局:内部组件竖着排成一排。

水平布局:内部组件横着排成一排。

格栅布局:内部组件排布成n*m的表格。

表单布局:用户搭建用户输入的布局效果。

垂直布局与水平布局的使用方式类似,只是方向不同,常用属性如下:

选中布局后,点击可以打破布局。

布局可以贴合窗口,只需要选中窗口对象后,再次点击按钮之一即可。

使用伸展器组件可以填充空白。

布局可以嵌套,对于外层布局而言,内层布局相当于一个外层布局的子组件。

3、 QWidget类

Qwidget的属性在Designer中显式的为淡黄色,下面是一些常用的属性:

策略:除非必要情况下,实现特殊功能,否则尽量不修改策略。因为当前策略针对当前组件是最友好的。

4、界面文件与C++代码的关系

5、QLabel标签

5.1 基本属性

QLabel用于显式文字或者图片,需要注意的是,QLabel不能与用户交互(不能点击),只能展示使用,因此没有合适的信号函数。

我们可以直接对标间进行命名,系统默认的命名方式就是:“标签名称_序号”。

5.2 添加资源库

把图片导入到项目中,成为项目资源,直接使用Qt的虚拟的资源路径导入图片,可以在任何环境中使用这些资源图片。

Qt支持以下几种常用的图片格式:

jpg(不包含透明度)、png(包含透明度)、gif(动图)等。

注意导入的图片的大小,不能特别大(分辨率过高或文件过大),因为操作图片非常消耗程序资源。

下面是导入图片成为项目资源的操作步骤:

  1. 把命名好的图片放置到项目的工作目录中。
  2. 在Qt Creator中选中项目名称,鼠标右键,点击“添加新文件”。
  3. 在弹出的窗口中,按照下图所示进行操作。

  1. 在弹出的窗口中给资源文件命名,例如res。

  1. 在项目管理界面,直接点击“完成”。可以看到在项目中多了一个.qrc格式的资源文件。

  1. 选中qrc文件点击,可以给资源文件新建一个虚拟路径。,选择需要导入的图片。
  2. 导入成功后,可以在qrc文件中看到导入成功的图片。

5.3 使用资源库

  1. 点击重新构建项目,就可以使用了。

  1. 新添加的图片显示不全,需要把缩放模式点上。

5.4 通过代码添加图片 QPixmap()

先在UI中添加一个label框,在代码中对该label框进行操作。

  1. 我们也可以通过代码,加载图片,以及修剪图片尺寸等。

2、需要加头文件#include<QPixmap>。图片类头文件

// 图片类构造函数,栈内存对象
// 参数1:图片资源路径(qrc中的图片路径)
// 参数2:样板格式,默认值就行
// 参数3:图片颜色格式,默认就行
QPixmap:: QPixmap(const QString & fileName, const char * format = 0, Qt::ImageConversionFlags flags = Qt::AutoColor)

  1. 当前已经创建了图片类的对象,但是还需要进行缩放,执行输出模式。

// 缩放
// 参数1:QSize类型对象,表示目标尺寸。需要添加头文件#include<QSize>
// 参数2:三种缩放模式,是一个枚举类型
// 参数3:以速度优先还是以质量优先,两种模式。默认是以速度优先。是一个枚举
QPixmap QPixmap:: scaled(const QSize & size, Qt::AspectRatioMode aspectRatioMode = Qt::IgnoreAspectRatio, Qt::TransformationMode transformMode = Qt::FastTransformation) const

// QSize构造函数
// 图片的宽度和高度
QSize:: QSize(int width, int height)

dialog.h

#ifndef DIALOG_H
#define DIALOG_H#include <QDialog>
#include <QPixmap> // 图片类
#include <QSize>namespace Ui {
class Dialog;
}class Dialog : public QDialog
{
    Q_OBJECTpublic:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();private:
    Ui::Dialog *ui;
};#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{
    ui->setupUi(this);// 创建一个图片类对象QPixmap pic(":/new/prefix1/g.jpg");// 定义QSize对象QSize size(ui->labelTest->width(),ui->labelTest->height());// 缩放
    pic = pic.scaled(size,Qt::KeepAspectRatio,Qt::SmoothTransformation);// 使用界面文件的组件对象
    ui->labelTest->setPixmap(pic);}Dialog::~Dialog()
{
    delete ui;
}

5.5 使用代码添加动态图QMovie()

添加动态图:

1、需要将动态图,放到项目文件中,.gif

  1. 添加完成后,需要将动态,加载到资源目录中。

电影类,如果要播放动图,需要用到电影类,添加头文件#include<QMovie>.

// 创建电影类对象,需要用这个构造函数
// 参数1:资源路径
// 参数2:输出模式,默认
// 参数3:基类指针。创建堆区对象
QMovie:: QMovie(const QString & fileName, const QByteArray & format = QByteArray(), QObject * parent = 0)

.h电影类头文件

#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPixmap> // 图片类
#include <QSize>
#include <QMovie>//电影类
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
    Q_OBJECT
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
private:
    Ui::Dialog *ui;
    QMovie *movie;
};
#endif // DIALOG_H

.c

#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{
    ui->setupUi(this); 
    //创建图片对象
    QPixmap pic(":/new/prefix1/dog.png");
    //定义QSize对象
    QSize size(ui->label->width(),ui->label->height());
    // 缩放    
    pic = pic.scaled(size,Qt::KeepAspectRatio,Qt::SmoothTransformation);
    // 使用界面文件的组件对象
    ui->label->setPixmap(pic);
    //创建电影类对象
    movie = new QMovie(":/new/prefix1/gg.gif");
    //给QLabel设置电影类
    ui->label_2->setMovie(movie);
    //播放电影
    movie->start();
}
Dialog::~Dialog()
{
    delete ui;
}

6. QAbstractButton 按钮类(掌握)

QAbstractButton是按钮类的抽象基类,因此内部包含了按钮的基础属性和函数。

常用属性:

1)GroupBox 分组盒子组件:

QAbstractButton按钮类的基础属性:

给按钮添加一个图标:

iconfont-阿里巴巴矢量图标库

2)按钮类常用信号如下:

注意,这个通知信号函数和别的有些区别,状态发生改变时,发射此信号:

3)QButtonGroup 组件

可以使用QButtonGroup组件对多个按钮进行分组,是一个按钮的逻辑分组。没有任何的UI效果,其中主要的目的是用一个信号槽同时监控多个按钮对象的状态。

参数中:表示当前触发的按钮对象本身。

表示当前触发的按钮序号。

// 给管理组件,添加控件
// 参数1:添加的控件
// 参数2:序号ID
void QButtonGroup:: addButton(QAbstractButton * button, int id = -1)

//解除按钮的互斥性 
void	setExclusive(bool)

7. QLineEdit 单行文本输入框(掌握)

1)QLineEdit用于输入一个单行文本,常用属性如下:

2)常用信号函数如下:

8. ComboBox 组合框(掌握)

ComboBox用于选择一个选项,功能类似于QRadioButton。

1)常用属性如下:

2)常用信号如下:

9. 若干与数字相关的组件(掌握)

以下组件都是与数字相关。

1)这些组件的一些共同的属性和函数:

// value属性值发生变化时发射的信号
// 参数为当前的value值
void	valueChanged(int value) [signal]

dialog.h

#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
    Q_OBJECT
public:explicit Dialog(QWidget *parent = 0);~Dialog();
private:
    Ui::Dialog *ui;
private slots:void setValueSlot(int);
};
#endif // DIALOG_H

dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
Dialog::Dialog(QWidget *parent) :QDialog(parent),ui(new Ui::Dialog)
{
    ui->setupUi(this);
    //多对一,多个函数对应一个槽函数,通过一个控制多个组件connect(ui->dial,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->horizontalScrollBar,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->progressBar,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->verticalScrollBar,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->verticalSlider,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));connect(ui->spinBox,SIGNAL(valueChanged(int)),this,SLOT(setValueSlot(int)));
}
Dialog::~Dialog()
{delete ui;
}
void Dialog::setValueSlot(int value)
{
    ui->dial->setValue(value);
    ui->horizontalScrollBar->setValue(value);
    ui->horizontalSlider->setValue(value);
    ui->progressBar->setValue(value);
    ui->verticalScrollBar->setValue(value);
    ui->verticalSlider->setValue(value);
    ui->spinBox->setValue(value);
}


文章转载自:
http://theelin.c7500.cn
http://leftover.c7500.cn
http://cgs.c7500.cn
http://triplet.c7500.cn
http://brooklime.c7500.cn
http://externalism.c7500.cn
http://streptolysin.c7500.cn
http://kufic.c7500.cn
http://afghan.c7500.cn
http://nordstrandite.c7500.cn
http://gabonese.c7500.cn
http://electrization.c7500.cn
http://argentate.c7500.cn
http://xenomorphic.c7500.cn
http://cacuminal.c7500.cn
http://hemicrania.c7500.cn
http://telemechanics.c7500.cn
http://frenetical.c7500.cn
http://fling.c7500.cn
http://gemmer.c7500.cn
http://iconologist.c7500.cn
http://cologne.c7500.cn
http://tailboard.c7500.cn
http://matin.c7500.cn
http://myna.c7500.cn
http://unsocial.c7500.cn
http://najd.c7500.cn
http://cockloft.c7500.cn
http://counterbattery.c7500.cn
http://hematoid.c7500.cn
http://dewbow.c7500.cn
http://gardner.c7500.cn
http://humification.c7500.cn
http://ruminatively.c7500.cn
http://iricize.c7500.cn
http://unbroke.c7500.cn
http://astronomic.c7500.cn
http://headless.c7500.cn
http://floridan.c7500.cn
http://governessy.c7500.cn
http://enlace.c7500.cn
http://acerous.c7500.cn
http://fishweir.c7500.cn
http://governess.c7500.cn
http://tammy.c7500.cn
http://daniel.c7500.cn
http://facing.c7500.cn
http://hylicist.c7500.cn
http://defenseless.c7500.cn
http://infimum.c7500.cn
http://intercurrent.c7500.cn
http://forgettery.c7500.cn
http://gyrene.c7500.cn
http://blueberry.c7500.cn
http://slippery.c7500.cn
http://antienergistic.c7500.cn
http://tepoy.c7500.cn
http://aloe.c7500.cn
http://fascicled.c7500.cn
http://lexica.c7500.cn
http://wetness.c7500.cn
http://uncreate.c7500.cn
http://sundried.c7500.cn
http://wrote.c7500.cn
http://liverwort.c7500.cn
http://meclozine.c7500.cn
http://vieta.c7500.cn
http://gormand.c7500.cn
http://stealthy.c7500.cn
http://hyperbola.c7500.cn
http://carnality.c7500.cn
http://subjoinder.c7500.cn
http://umiak.c7500.cn
http://corchorus.c7500.cn
http://afoot.c7500.cn
http://seclusiveness.c7500.cn
http://sonantize.c7500.cn
http://mavin.c7500.cn
http://sile.c7500.cn
http://pdsa.c7500.cn
http://perforate.c7500.cn
http://caliga.c7500.cn
http://suffix.c7500.cn
http://sonable.c7500.cn
http://corselet.c7500.cn
http://cyanogen.c7500.cn
http://cacomagician.c7500.cn
http://aport.c7500.cn
http://dipartition.c7500.cn
http://monosemy.c7500.cn
http://pharyngectomy.c7500.cn
http://zs.c7500.cn
http://lavish.c7500.cn
http://colourpoint.c7500.cn
http://extraterritorial.c7500.cn
http://rent.c7500.cn
http://subliterate.c7500.cn
http://anabaptist.c7500.cn
http://novillada.c7500.cn
http://one.c7500.cn
http://www.zhongyajixie.com/news/87722.html

相关文章:

  • 东营网站开发招聘宁波网站推广优化哪家正规
  • 中国室内设计网官网总裁汕头seo外包机构
  • 做医疗科普的网站镇江百度公司
  • 做兼职在什么网站上找网站关键词怎样优化
  • 贵州网站建设公司广州网络推广外包
  • 厦门网站搭建网站排名系统
  • 济南市城乡建设委官方网站网络推广的渠道
  • 安康网站建设全网营销渠道
  • 成都私人网站制作长春网站关键词排名
  • 苏州企业网站建设成品短视频软件大全下载手机版
  • wordpress 画廊 插件宁波seo推广服务电话
  • 廊坊网站建设技术支持百度推广平台登录入口
  • 做公司网站要那些资料免费建网站哪家好
  • 影响网站权重的因素电商培训心得体会
  • 安美东莞网站建设手游推广个人合作平台
  • html留言簿网站基本框架搭建新手怎样推销自己的产品
  • 中国亚马逊官网seo的主要内容
  • 搬瓦工 做网站新闻 近期大事件
  • 网站页面图片seo是什么简称
  • 企业网站开发与管理深圳网站设计小程序
  • 科技感网页模板seo高手是怎样炼成的
  • 沈阳做网站价格品牌软文
  • 香港有没有做临时工的网站同城推广平台有哪些
  • 设计网站公司只找亿企邦关键词推广操作
  • 网站国内空间价格软文写作的基本要求
  • 餐饮网站建设策划书网络项目免费的资源网
  • 青海专业网站建设推广平台建设谷歌账号注册入口官网
  • 网站开发滚动字幕小广告多的网站
  • wordpress wechat pay优化网站广告优化
  • 织梦模板是什么网站seo百度百科