QT添加资源文件步骤

合集下载

Qt与视频处理

Qt与视频处理

Video Playing and Processing在这一次的教程中,我们将介绍如何利用Phonon框架来创建一个视频播放器。

这一次的例子和音频播放器的例子相近,用了phonon所提供的API 接口,实现了视频文件的播放。

这些在不同的系统中实现方式不同,Phonon的最重要特征之一是它可以跨平台使用,这得益于它所支持的众多后端平台。

在Linux环境下,它通常使用GStreamer库;在Mac OS X环境下,他使用QuickTime;在Windows下,它使用Direct X和DirectShow库。

它还可以使用其他的后端平台库,如VLC和MPlayer后端。

Qt的多媒体支持能够以相同的API运行于所有平台。

然而,多媒体的播放能力通常取决于解码器和第三方库,并且由于竞争的存在以及软件专利之间错综复杂的关系,通常不会安装它们,目前仍没有较好的方法来解决这个问题,所以声音和视频文件会存在不能跨平台播放的问题。

而未来,最好的解决办法是利用诸如Ogg等开源媒体格式。

因为这一次的例子我们在Windows下运行时,它使用Direct X和DirectShow库。

所以他只能播放.mpg的文件。

当我们修改phonon的后端平台库之后,如使用VLC和MPlayer后端。

该用例就可以播放其他格式的视频了。

接着我们开始做一个视频播放器的小程序吧。

1.首先建立一个工程,单击”File”->”New File or Project…”,在弹出的对话框中选择”Qt4 Gui Application(Qt Gui 应用)”,单击”OK”按钮,将该工程命名为videoplayertest,选择保存该文件的路径,单击”Next”按钮,完成该文件工程的建立。

2.接着我们用以下这一语句来包含Phonon里的类定义:#include <phonon/phonon>为了能和Phonon进行连接,我们在videoplayertest.pro文件里添加以下这一语句:QT += phonon添加以后,.pro文件代码如下:QT += core guiQT += phononTARGET = videoplayertestTEMPLATE = appSOURCES += main.cpp\widget.cppHEADERS += widget.h3.打开widget.h,添加代码如下,#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QPushButton>#include <QFileDialog>#include <phonon/phonon>#include <QLabel> #include <QLayout> #include <QAction> #include <QToolBar> #include <QIcon> #include <QTime> class Widget : public QWidget{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();private:QToolBar *toolbar;QHBoxLayout *hlayout;QVBoxLayout *vlayout;QLabel *name;QLabel *totaltime;QAction *open;QAction *play;QAction *stop;QAction *volume;QAction *exit;Phonon::MediaObject *audio;Phonon::AudioOutput *audioOutput;Phonon::VolumeSlider *volumeSlider;Phonon::SeekSlider *seekSlider;QIcon *playicon;QIcon *openicon;QIcon *stopicon;QIcon *volumeicon;QIcon *pauseicon;QIcon *winicon;QIcon *exiticon;private slots:void openfile();void playorpause();void volumesetting();void audiostop();void settotaltime(qint64);};#endif // WIDGET_H4.打开widget.cpp,添加代码如下:#include "widget.h“Widget::Widget(QWidget *parent) : QWidget(parent) {QFont font("Arial",15,QFont::Bold);name = new QLabel(this);name->setAlignment(Qt::AlignHCenter);name->setFont(font);name->hide();QFont font1("Arial",10,QFont::Bold);totaltime= new QLabel(this);totaltime->setFont(font1);totaltime->setAlignment(Qt::AlignRight);totaltime->hide();openicon= new QIcon(":/images/music_folder.png");playicon= new QIcon(":/images/play.png");volumeicon = new QIcon(":/images/icon.png");stopicon = new QIcon(":/images/stop.png");pauseicon= new QIcon(":/images/pause.png");exiticon=new QIcon(":/images/exit.png");winicon = new QIcon(":/images/1.PNG");setWindowIcon(*winicon);/*构造函数首先对界面控件进行初始化,并用QIcon读入小图标的文件,上面的代码调用了资源文件中的icon.png,stop.png,pause.png,exit.png,1.PNG等多张图片。

qt教程(ppt)

qt教程(ppt)

为什么选择QT?
• • • • • 基于C++ 简易、面向对象 优良的跨平台特性 Qt架构健壮,性能强大 Qt使用起来简便高效 Qt是开源软件
QT编程环境
• <1>QT的工具 $QTDIR/bin • <2>QT的库 $QTDIR/lib
• <3>QT的头文件 $QTDIR/include
QT编程环境
例子三:输入用户年龄
<1> 功能:用户可以通过微调框和滑块来输 入年龄 <2> 创建一个新的文件夹,命名为age <3> 创建age.cpp,编辑代码 <4>编译运行
输入年龄程序效果图
代码分析
例子三代码分析: <1> 由三个窗口部件组成:QSpinBox QSlider QWidget <2> 通过方法setWindowTitle()函数来设置 显示在窗口标题栏上的文字。 <3>如何改变对象的大小和位置。 <4>初步掌握信号和槽
QT Creator下载
/downloads 下载
creator
举例一:使用creator实现hello world <1> File -> New <2> Qt4 Gui Application <3> 输入工程名和要保存到的文件夹路径 <4> 这时软件自动添加基本的头文件,因为这个程 序我们不需要其他的功能,所以直接点击Next。 <5> 我们将base class选为QDialog对话框类。然 后点击Next。 <6>点击Finish,完成工程的建立。
代码分析
例子一代码解析: <1> 对于每一个Qt类,都有一个与该类同名的头文 件,在这个头文件中包含了对这个类的定义。 <2> 创建了一个QApplication的对象,用来管理 整个应用程序所用到的资源。 <3> 创建了一个QLabel类的对象,也可以叫做窗 口部件。 <4> 创建窗口部件的时候,标签(QLabel)通常都是 隐藏的,这就允许我们先对其进行设置,然后再 显示他们。

QT中的QFile

QT中的QFile

Qt资源体系采用平台独立机制来存储应用程序执行时的二进制文件。

这种机制在应用程序需要一些确定的文件(图标、翻译文件等等)而且又不想冒丢失文件的风险时是有用的。

资源体系依赖于qmake, rcc(Qt's resource compiler), 和QFile的紧密协作。

Qt 3 的qembed工具和image collection机制被废除。

Resource Collection Files (.qrc)与应用程序关联的应用程序由.qrc文件来指定,它用XML记录硬盘上的文件和对应的随意指定的资源名称,应用程序通过资源名称来访问资源。

一个.qrc文件的例子:<!DOCTYPE RCC><RCC version="1.0"><qresource><file>images/copy.png</file><file>images/cut.png</file><file>images/new.png</file><file>images/open.png</file><file>images/paste.png</file><file>images/save.png</file></qresource></RCC>.qrc文件中列出的资源文件是程序的源码树的一部分。

指定的路径是.qrc文件所在目录的相对路径。

注意,列出的资源文件必须位于.qrc文件所在目录或者其子目录下。

资源数据也能被编译进二进制文件中,因此应用程序代码可以立即访问;也可以创建一个二进制资源,稍后在程序中登记了资源体系的代码中指定。

缺省时,程序可以用资源在源码树中的名称加一个:/前缀来访问它。

例如,在程序的源码树中是images/cut.png 的文件可以通过:/images/cut.png来访问。

qt添加资源文件的步骤 -回复

qt添加资源文件的步骤 -回复

qt添加资源文件的步骤-回复如何添加资源文件到Qt项目中Qt是一个跨平台的C++应用程序开发框架,它提供了丰富的UI控件和功能模块,使开发者能够轻松地开发可移植的应用程序。

在Qt项目中,添加资源文件可以方便地管理和使用项目中使用的各种资源,如图像、字体、样式表等。

本文将介绍如何一步一步地将资源文件添加到Qt项目中。

第一步:打开Qt项目并创建资源文件首先,打开你的Qt项目。

可以使用Qt Creator来创建一个新的项目,也可以打开一个现有的项目。

接下来,右击项目文件夹,选择“新建文件或项目”选项。

在弹出的对话框中,选择“Qt”类别并选择“资源文件”作为文件类型。

然后,点击“选择”按钮选择你想要添加的资源文件的名称和路径,并点击“下一步”按钮。

第二步:编辑资源文件资源文件(以.qrc为后缀)是一个XML文件,用于描述项目中的资源结构和路径。

在这一步,你可以编辑资源文件以添加、修改或删除资源。

在Qt Creator的编辑器中,你可以通过点击“在此处单击添加文件”按钮来添加资源文件。

或者,你也可以手动在XML文件中添加文件或文件夹的路径。

你可以使用以下代码来添加一个图像资源:<file>images/logo.png</file>你也可以使用以下代码来添加一个文件夹资源:<qresource prefix="/stylesheets"><file>stylesheets/light.qss</file><file>stylesheets/dark.qss</file></qresource>你可以根据需要添加任意数量的资源,包括但不限于图像、字体、样式表、音频等。

第三步:使用资源文件一旦你完成了资源文件的编辑,你就可以在你的Qt项目中使用这些资源了。

在你的代码中,你可以使用以下语句来访问和使用资源文件中的资源:QImage logo(":/images/logo.png");QFont font(":/fonts/Arial.ttf");QString stylesheet = ":/stylesheets/light.qss";在这些语句中,冒号“:”后面的路径是资源文件中资源的路径。

第一个qt窗口项目mainwindow

第一个qt窗口项目mainwindow
2. 接 下 来 要 实 现 动 态 显 示 时 间 , 这 里 就 需 要 有 一 个 定 时 器 , 定 时 器 的 初 始 化 同 样 在 mainwindow.cpp 的初始化代码中进行 首先还是要先包含#include <QTimer> 然后输入如下代码 这里还需要建立一个定时器的函数, 来响应定时器的变化,就是说时间到了之后,应该来 刷新显示时间, 這样才能实现动态显示时间。 先到 mainwindow.h 中添加私有信号槽 private slots: void timerUpDate(); 然后到 mainwindow.cpp 中完成 timerUpdate()函数, 代码如下。然后还要到 mainwindow 的 初始化函数中新建一个 Timer ,具体代码如下

ui->UNm_ledit->setFocus(); //鼠标回到用户名编辑框
1
}
2}
此时已经完成了登陆按钮的功能, 但是点击登陆之后, 怎么跳转到主窗口中去呢? 这里就需要在主窗口的文件中做如下处理,先回到 main.cpp 文件中。 首先在 main.cpp 中包含 dialog.h 头文件 #include “dialog.h” 然后如输入如下代码 ,代码中附有详细解释, 代码简单,所以不单独解释
#include <QMessageBox>
C++ Code
1 void Dialog::on_login_Btn_clicked()
2{
3
if(ui->UNm_ledit->text() == tr("qt") && ui->pwd_ledit->text() == tr("123"))

Qt中.pro文件命令介绍和写法

Qt中.pro文件命令介绍和写法

【命令介绍】第一种常用方式:#模块设置,一般设置为app(生成应用程序,默认),subdirs(生成makefile文件编译subdirs指定的子文件夹),lib(生成库文件)TEMPLATE = app#指定生成的应用程序放置的目录DESTDIR += ../bin#指定生成的应用程序名TARGET = pksystem#添加或减少CONFIG的配置模块,一般采用默认即可,但是除去debug_and_release模块不会生成debug和release文件夹#CONFIG += releaseCONFIG -= debug_and_release#指定uic命令将.ui文件转化成ui_*.h文件的存放的目录UI_DIR = ./temp#指定rcc命令将.qrc文件转换成qrc_*.h文件的存放目录RCC_DIR = ./temp#指定moc命令将含Q_OBJECT的头文件转换成标准.h文件的存放目录MOC_DIR = ./temp#指定目标文件的存放目录OBJECTS_DIR = ./temp#程序编译时依赖的相关路径DEPENDPATH += . forms include qrc sources#头文件包含路径INCLUDEPATH += .#qmake时产生的信息,$${a}读取变量a的字符串,$$(PATH)读取环境变量PATH #message($$(PATH))#源文件编码方式CODECFORSRC = GBK# Input#工程中包含的头文件HEADERS += include/painter.h#工程中包含的.ui设计文件FORMS += forms/painter.ui#工程中包含的源文件SOURCES += sources/main.cpp sources/painter.cpp#工程中包含的资源文件RESOURCES += qrc/painter.qrc第二种常用方式,用于子文件夹的编译:#设定模块为子文件夹编译方式TEMPLATE = subdirs#子文件夹目录,可用\换行SUBDIRS = src1 \src2【写法】在QT中,有一个工具qmake可以生成一个makefile文件,它是由.pro文件生成而来的,.pro文件的写法如下:1. 注释从“#”开始,到这一行结束。

Qt~pro文件介绍

Qt~pro文件介绍

QT配置文件.pro介绍1、注释从“#”开始,到这一行结束。

2、指定源文件SOURCES = *.cpp对于多源文件,可用空格分开,如:SOURCES = 1.cpp 2.cpp3.cpp或者每一个文件可以被列在一个分开的行里面,通过反斜线另起一行,就像这样: SOURCES = hello.cpp\main.cpp一个更冗长的方法是单独地列出每一个文件,就像这样:SOURCES+= hello.cppSOURCES +=main.cpp这种方法中使用“+=”比“=”更安全,因为它只是向已有的列表中添加新的文件,而不是替换整个列表。

3. 指定头文件HEADERS = hello.h或者HEADERS += hello.h列出源文件的任何一个方法对头文件也都适用。

4. 配置信息CONFIG变量指定了编译器所要使用的选项和所需要被连接的库。

配置变量中可以添加任何东西,但只有下面这些选项可以被qmake识别。

下面这些选项控制着使用哪些编译器标志:release - 应用程序将以release模式连编。

如果“debug”被指定,它将被忽略。

debug - 应用程序将以debug模式连编。

warn_on - 编译器会输出尽可能多的警告信息。

如果“warn_off”被指定,它将被忽略。

warn_off - 编译器会输出尽可能少的警告信息。

下面这些选项定义了所要连编的库/应用程序的类型:qt - 应用程序是一个Qt应用程序,并且Qt库将会被连接。

thread - 应用程序是一个多线程应用程序。

x11 - 应用程序是一个X11应用程序或库。

windows - 只用于“app”模板:应用程序是一个Windows下的窗口应用程序。

console - 只用于“app”模板:应用程序是一个Windows下的控制台应用程序。

dll - 只用于“lib”模板:库是一个共享库(dll)。

staticlib - 只用于“lib”模板:库是一个静态库。

Qt添加图标

Qt添加图标

Qt添加图标1 Qt添加.exe程序图标1.1 Qt Creator添加.exe程序图标在⽹上(https:///)⽣成⼀个ico图标⽂件,命名为:logo.ico,将 ico⽂件存放⾄应⽤程序的源代码⽬录。

1.1.1 ⽅法⼀如果使⽤qmake来⽣成makefile⽂件,只需要在.pro中添加:RC_ICONS = logo.ico然后,重新⽣成makefile⽂件和应⽤程序,对应的.exe可执⾏程序的图标就会转变为刚才添加的图标。

1.1.2 ⽅法⼆新建⼀个.rc⽂件,“新建⽂件”---“C++ source File”---命名为logo.rc(不能掉了rc后缀)。

打开logo.rc⽂件添加如下⼀⾏代码。

IDI_ICON1 ICON DISCARDABLE "logo.ico"最后在pro⽂件添加⼀⾏代码RESOURCES += \qss.qrc#RC_ICONS = logo.icoDISTFILES += \logo.rcRC_FILE += logo.rc保存项⽬重新编译,exe图标和执⾏时window图标都将发⽣变化。

1.2 Qt in VS添加.exe程序图标在⽹上(https:///)⽣成⼀个ico图标⽂件,命名为:temp.ico,将 ico⽂件存放⾄应⽤程序的源代码⽬录。

在⼯程根⽬录下,新建⼀个temp.rc⽂件,内容如下:IDI_ICON1 ICON DISCARDABLE "logo.ico"修改“⼯程名.vcxproj”⽂件,在:<?xml version="1.0" encoding="utf-8"?><Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="/developer/msbuild/2003">之后,添加<ItemGroup><ResourceCompile Include="temp.rc"/></ItemGroup>重新⽣成项⽬即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

我们编写的gui可能需要一些额外的资源(比如贴图用的图片),可用资源文件统一管理。

以下以图片为例。

用qt creator 打开工程,为工程新建资源文件:
命名为“项目名.prc”,(此处为“clock.qrc”,名字可另起,后缀名不可改)。

系统自动切换到资源编辑界面:
如果没有自动切换到上述界面,双击clock.qrc即可。

选择添加—添加前缀,前缀名默认为“/new/prefix1”,改为在前缀一栏输入前缀名“/image”(可以另起,但是“/“”不能变)。

选中“/image”(如果只建立了image一个资源文件则自动选中),选择添加—添加文件,然后选中rose.png(或其他图片),效果:
添加资源文件后要保存,不然之后不能使用。

在上述界面中选中资源文件rose.png,可以为其起别名rose,方便使用。

如下图:
添加(更改)别名后同样保存一次。

如果要把该资源文件作为window icon,切换到ui编辑器,选择要添加icon 的窗口,找到下图荧光加亮的项目:
点击上图中红色圈住的下拉框,选择”添加资源”,弹出界面:
双击红色圈住部分,选择rose然后确定,如下示:
此时可以看到:
重新编译运行程序,察看效果:
可能遇到的问题:
1. 运行程序icon还是默认样式,而非所设置的图标。

可以尝试生成release 版本的可执行文件而非debug版本的。

2.编译失败,提示程序所依赖的***(资源名)不存在。

将资源(如上述的rose.png)拷贝到工程文件(.pro文件)所在目录。

相关文档
最新文档