C++ QT中的QSound使用方法】的更多相关文章

在pro文件中添加 QT += multimedia 就可以了…
静态变量可以在各个页面之前使用 先定义一个用于存放静态变量的类 例如datavar 在datavar.h中添加如下代码 #ifndef DATAVAR_H #define DATAVAR_H #include <QObject> class dataVar : public QObject { Q_OBJECT public: ); static QString loginName ;//登录名 signals: public slots: }; #endif // DATAVAR_H 在da…
QT中使用线程可以提高工作效率. 要使用线程要经过一下四个步骤: (1)先创建一个c++ class文件,记得继承Thread,创建步骤如下: a.第一步 b.第二步 (2)自定义一个run函数,以后启动线程的时候,程序就会跳转到run函数中 void run(); (3)初始化线程 HDThread mythread = new HDThread(); (4)启动线程 mythread->start(); 下面来看看线程使用的具体列子: 线程头文件hdthread.h: #ifndef HDT…
前言:因为QT中用死循环会开销很多内存容易崩溃,这时候使用定时器可以很好解决这个问题. 使用定时器需要用到头文件:include<QTimer> (1)定义定时器 QTimer *update_time; (2)监听定时器,超时的时候启动槽函数 connect(update_time,SIGNAL(timeout()),this,SLOT(time_update())); (3)启动定时器 update_time->start(); //1秒钟后启动…
void CircleWidget::paintEvent(QPaintEvent * event) { QPainter painter(this); int wight = this->width(); int heigth = this->height(); ) { QColor green(, , 0xff); QPen pen(green); painter.setBrush(QBrush(QColor(0x00, 0xFF, 0x00))); pen.setStyle(Qt::Da…
注意:-L后面跟着的目录不能用空格,否则会出现读不到的情况. 例如win32下添加D:\app\my.lib   就 pro文件中 LIBS += -LD:\app\debug\ -lmy…
movie = new QMovie(":/timg.gif"); movie->setScaledSize(QSize(,)); ui->giflabel->setMovie(movie); movie->start();…
分类: Qt2011-02-18 21:35 1395人阅读 评论(3) 收藏 举报 qtmysql数据库windowspathcmd . 使用Qt做MySQL数据库开发,遇到需要备份.还原数据库的问题. MySQL中没有提供将数据库备份成.sql文件的SQL语句,而是提供了一个mysqldump.exe工具来完成这个功能. 没有SQL语句,QSqlQuery就用不成了,决定改用QProcess实现. . 但是在Qt中使用QProcess::execute()方法怎样都导不出数据来, 更郁闷的是…
Qt中使用图片资源的方法有很多种,以前我一直分不清各种之间的区别和Qt相应的处理机制,后来遇到一些实际的问题,然后再加上查阅源码和资料,总算弄明白一些事情,但是本文仅仅是个人理解,如有错误之处请告诉我,大家一起进步. 图片是一种资源,而在Qt中,对于资源的使用是有其独特的方式的! ①:一般来说:资源在内存中是用资源对象树来表示的,该树在程序启动时创建. ②:而对于资源而言:我们都是需要先将其加入到这棵树中才能加载到内存中并被程序使用!! ③:而将一个图片资源放到程序的资源对象树中是用函数QRes…
Qt中使用图片资源的方法有很多种,以前我一直分不清各种之间的区别和Qt相应的处理机制,后来遇到一些实际的问题,然后再加上查阅源码和资料,总算弄明白一些事情,但是本文仅仅是个人理解,如有错误之处请告诉我,大家一起进步. 图片是一种资源,而在Qt中,对于资源的使用是有其独特的方式的! ①:一般来说:资源在内存中是用资源对象树来表示的,该树在程序启动时创建. ②:而对于资源而言:我们都是需要先将其加入到这棵树中才能加载到内存中并被程序使用!! ③:而将一个图片资源放到程序的资源对象树中是用函数QRes…
在Qt中并没有Sleep函数可以调用,在程序编写时往往需要休眠几秒,这里举出两个方法,不知道是否啥不良隐患没~~ 方法一: class SleeperThread : public QThread{public:    static void msleep(unsigned long msecs)    {        QThread::msleep(msecs);    }}; // 调用方法SleeperThread::msleep(1000); 方法二: QMutex mutex;QWa…
本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用google一搜,就能搜出大量结果出来.无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong 和众多用户一样,初次看到这个时,感到 Bradley T. Hughes有 些莫名奇妙,小题大作.尽管不舒服,当时还是整理过一篇博客QThread 的使…
之前在做有关QDockWidget的内容时候遇到了瓶颈,那就是窗口弹出来之后拖动不了,也不可以放大和缩小,若是弹出来之后设置成了window的flags,也不可以拖动,而且也不是需要的效果. 1.弹出来之后的dockwidget的titlebar右边需要有3个按钮分别来控制放大与恢复.弹出来与收进去和关闭按钮.考虑到Qt自带的dockwidget弹出来后实现不了这个,所以参考了网上的方法,需要自己从QWidget中派生一个类来实现自己的titlebar 2.因为dockwidget是嵌套在QTa…
一.Qt中事件处理的方式   1.事件处理模式一 首先是事件源产生事件,最后是事件处理器对这些事件进行处理.然而也许大家会问, Qt中有这么多类的事件,我们怎么样比较简便的处理每个事件呢?设想,如果是每个事件都对应同一个事件处理器,在该事件处理器中对不同的事件进行分类处理,这样的弊端有两点:第一,导致该事件处理器过于臃肿复杂:第二,这样不便于扩展,当系统新增加事件类型或者是我们需要使用到自定义事件时,就不得不修改Qt的源码来达到目的.所以Qt设计者的做法是针对不同类型的事件提供不同的事件处理器与…
众所周知,我们可以将C++项目中的类以及某些方法导出,形成 .dll 文件,以供其他程序使用,下面将说明Qt环境下的使用方法. 首先创建共享库,步骤如下: 下一步会出现类对话框等等,不用管它,直接点击创建即可,稍后再将类都删了. 创建好以后你会发现有一个包含global的头文件,这个文件中定义了__declspec(dllexport).__declspec(dllimport)等,也可以删掉(如果要按照下面的方法的话,删掉即可). 接下来还有重要的一步,请在.pro文件中,加入 CONFIG…
Qt中定时器的使用有两种方法,一种是使用QObject类提供的定时器,还有一种就是使用QTimer类. 其精确度一般依赖于操作系统和硬件,但一般支持20ms.下面将分别介绍两种方法来使用定时器. 方法一:QObject中的定时器的使用,需要用到三个函数 1.   int QObject::startTimer ( int interval ) ; 这个是开启一个定时器的函数,他的参数interval是毫秒级别.当开启成功后会返回这个定时器的ID, 并且每隔interval 时间后会进入timer…
QT中中文字符问题,有没有一劳永逸的解决方法? 目前遇到有以下问题 1.字符串中有中文时,编译提示"常量中含有换行符" 2.在控制台窗口输出中文时无法正常显示,中文全部显示为? 目前第一个问题通过记事本打开文件,再保存,可解决 第二个问题尝试有以下方法,未解决 a. "编辑"菜单--->"Select Encoding"---> "UTF-8"或者"System" b. "工具&quo…
Qt中qmenu的实现三四千行... 当初有个特殊的需求, 要求菜单的周边带几个像素的阴影, 琢磨了半天, 用QMenu做不来, 就干脆自己用窗口写一个 然而怎么让菜单消失却非常麻烦 1. 点击菜单项 2. 点击其他地方 3. 被其他窗口遮挡 4. 按键啊 然后用判断焦点的方法吭哧吭哧写了, 做法类似弹出一个自动关闭的窗口. 但是菜单是可以多级的, 这就造成非常恶心的焦点传递. 虽然最终处理好了(代码好恶心- -!, 自己看得都想吐) 可惜天不遂人愿, 但其他窗口一起抢焦点的时候, 我的菜单就变…
问题:Qt中包含QPrintDialog.QPrinter.QPrintPreviewDialog失败:在引入printsupport后报cpp:651: error: undefined reference to `_imp___ZN8QPrinterC1ENS_11PrinterModeE'错误的原因? 解决方法: 1. 在Qt中引入QPrintDialog.QPrinter.QPrintPreviewDialog头文件需要分别使用QtPrintSupport #include<QtPrin…
由于qt中没有原生的执行sql文件的方法.因此我们需要根据sql文件中的流的特点,将其分解成一个个语句单独执行. 1.首先通过Qfile读取sql文件 2.将sql文件中的内容通过“:”进行拆解 3.对拆解后的内容,依次进行执行exec语句. int excute_sql_file(const char * sql_file_path) { ; QFile qfile(sql_file_path); if (!qfile.exists()) { ; } if (!qfile.open(QIODe…
博客转载自:https://blog.csdn.net/lg1259156776/article/details/52325361 在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法. 一.QImage转QPixmap,然后用QLabel::setPixmap() image=new QImage("D:/Temp/XX.jpg"); pixmap=newQPixmap(); pixmap->convertFr…
GUI操作顺序问题引发异常: 有时候我们使用写GUI程序的时候会遇到这样的问题:比如在程序中,建立了一个列表的GUI.这个列表是随着时间不断更新的,而且操作也会读取这个列表GUI的内容. 如果这个程序是多线程的程序,而且只是除了GUI的线程不操作,只是其他线程操作这个列表GUI,那么这个问题很简单,只用加互斥锁就可以了.但如果GUI线程自己本身也要操作这个列表,那么这个问题就很麻烦了. 我们可以很容易地想到一种场景,比如GUI线程读了列表的一些表项(比如选定),此时线程中的某个方法keep了这些…
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境:Ubuntu10.04 + Qt4.7.0 Linux获得本地IP的方法,我尝试了两种 1.用QHostInfo类解析 QHostInfo类可以解析域名,理论上也可以解析本地IP,可是经过尝试,我发现解析出来的IP是127.0.0.1是本地回环地址,不符合我的需求. 代码: //获取本地IP QHostInfo info=QHostInfo::fromName(QHostInfo::localH…
QT中获取选中的radioButton的两种方法   QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "r…
QT中要获取radioButton组中被选中的那个按钮,可以采用两种如下两种办法进行: 方法一:采用对象名称进行获取 代码: 1 QRadioButton* pbtn = qobject_cast<QRadioButton*>(ui->BG->checkedButton()); 2 QString name = pbtn->objectName(); 3 if(!QString::compare(name, "radioButton")) 4 { 5 QM…
在Qt中处理图片一般都要用到QImage类,但是QImage的对象不能够直接显示出来,要想能看到图片,初步发现有两种方法. 一.QImage转QPixmap,然后用QLabel::setPixmap() image=new QImage("D:/Temp/XX.jpg"); pixmap=newQPixmap(); pixmap->convertFromImage(*image); label=newQLabel(this); label->setGeometry(,,,)…
1. 布局 为什么要布局: 布局之后窗口的排列是有序的 布局之后窗口的大小发生变化, 控件的大小也会对应变化 如果不对控件布局, 窗口显示出来之后有些控件的看不到的 布局是可以嵌套使用 常用的布局方式: 水平布局 -> 所有的控件水平排列 -> 一行多列 垂直布局 -> 所有控件垂直排列 -> 多行一列 网格(栅格)布局 -> 多行多列 在Qt中设置布局的两种方式 使用Qt提供的布局 使用QWidget进行布局 -> 推荐 首先需要从工具栏中拖拽一个QWidget窗口…
  Ø 相关库,插件安装部分 本篇文档介绍在Qt5.2.0下面使用lrrlicht引擎在Qt窗口中输出(开发环境:vs2012) 1. 首先安装好Qt5.2.0,下载地址: http://download.qt-project.org/archive/qt/5.2/5.2.0/qt-windows-opensource-5.2.0-msvc2012-x86-offline.exe 2. 接着安装qt中vs2012插件,下载地址: http://download.qt-project.org/of…
一.把字符串转换成整形demo1:QString str = "FF";bool ok;int hex = str.toInt(&ok, 16); // hex == 255, ok == trueint dec = str.toInt(&ok, 10); // dec == 0, ok == false demo2:bool ok;QString line = "123";int line1 = line.toInt(&ok); //把字符…
转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 QString::number(); 如: long a = 63; QString s = QString::number(a, 10);             // s == "63" QString t = QString::number(a, 16).toUpper();   …