文档库 最新最全的文档下载
当前位置:文档库 › QT教程参考

QT教程参考

QT教程参考
QT教程参考

有一次因为在chakanbl::chakanbl(QWidget*parent):

QDialog(parent),

ui(new Ui::chakanbl)

中写了两个ui->setupUi(this);导致按下按钮没反应,即按下按钮不会跳到相应槽函数

1.获取Linedit内容并存入数据库

namm=ui->name->text();

usee=ui->username->text();

pasw=ui->password->text();

QSqlQuery query; //定义一个QSqlQuery 类型的变量

query.prepare(tr("INSERT INTO login(username,password,name) VALUES(:usee,:pasw,:name)")); //使用点位符替代记录中的值query.bindValue(":usee",usee);

query.bindValue(":pasw",pasw);

query.bindValue(":namm",namm);

query.exec();

2.获取系统时间

需要加头文件#include

QDateTime dateTime = QDateTime::currentDateTime(); //获取年月日

int y=dateTime.date().year();

int m=dateTime.date().month();

int v=dateTime.date().day();

QString strTime=dateTime.time().toString(); //获取秒分时

int xiaoshi=dateTime.time().hour();

int fen=dateTime.time().minute();

int miao=dateTime.time().second();

3.字符串合并

QString str=QString("%1%2%3%4%5").arg(yy).arg(mm).arg(vv).arg(xiashi).

arg(fenfen);//str为年月日时分组合字符串

需加头文件#include

yy=2014 mm=4 vv=10 xiashi=21 fenfen=19

则str="20144102119"

4.传送字符串到其它界面

比如传递字符串usnm="iewhf"

只需在当前界面创建QString usnm;

在另一个界面创建extern QString usnm;就可以使用usnm

5.Qt crearor中添加背景图片的问题

Qt

在对话框中添加背景图片的一种方法:

右键点击窗体区域-->change styleSheets-->

在弹出的edit Style Sheet对话框中选择Add resources中的backgroud-image -->在select resources中选择自己想要的资源图片-->确定

但这做法有一个问题,就是窗体中的部件,如按钮和输入框等也全部添加了背景。而且按钮的形状也被改变,没有了一些浮动效果。

解决的办法最后找到了:

在弹出的edit Style Sheet对话框中,可以这样写

#MainWindow {

background-image: url(:/images/images/bkg.jpg);

}

#MainWindow * {

background-image: url();

}

其中'MainWindow'是当前需要添加背景图片窗体的名字,

MainWindow *代表窗体中的部件,url后面的是加载的资源图片路径。

如果在设置后不能成功加载背景图片,应该是图片路径的问题。路径可以参考文章上面写的

方法输出的图片路径。

完毕

6.在QT里添加图片资源

在工程目录下创建一个文件夹(例如images),把图片放在里面;

右击位于窗口左上角的工程名,选择“Add New...”,在弹出的对话框中依次选择“Qt” -> “Qt Resource file”,填上名字,选择好路径(*/*/*/images),接下来确定就行了;

点击主窗口位于下方“Add” Button,选择“Add Prefix”,再点击“Add”Button,选择“Add Files”,进行选择图片。

7.从数据库获取列数据到combobox

#include

QSqlQuery query;

query.exec(QObject::tr("select yaopin from yaopinn "));

QSqlRecord rec=query.record();

while(query.next())

{

rec=query.record();

int sno=rec.indexOf("yaopin");

qDebug()<

QString hhg=query.value(sno).toString();

ui->comboBox->addItem(hhg);

}

8.给QT程序添加一个漂亮的图标

直接编译的QT程序,没有漂亮的外观,如何给程序添加一个漂亮的图标呢?

【步骤】

1 下载图标素材,以png格式素材为例说明。

2 将图标素材转换为ico格式。

3 利用记事本新建一个名为logo.rc的文件,logo.ico为转换后的图标名称,内容如下:

IDI_ICON1 ICON DISCARDABLE "logo.ico"

4 在工程文件夹中新建一个images目录,将logo.ico、logo.rc放入文件夹中。

5 打开QT工程,将logo.ico、logo.rc添加进工程。

6 在工程文件(*.pro)中加入一行:

RC_FILE=images/logo.rc

7 重新组建工程,这时QT程序就有了一个漂亮的外观了

9.字符串等转换

把QString转换为float形

1.QString str="123.45";

float d=str.toFloat(); //d=123.45

2.QString str="R2D2";

bool ok;

float d=str.toFloat(&ok); //转换是被时返回0.0,ok=false;

把QString形转换为整形

1.转换为十进制整形

注意:基数默认为10。当基数为10时,并且基数必须在2到36之

间。如果基数为0,若字符串是以0x开头的就会转换为16进制,若以0开头就转换为八进制,否则就转换为十进制。

Qstring str="FF";

bool ok;

int dec=str.toInt(&ok,10); //dec=255 ; ok=rue

int hex =str.toInt(&ok,16); //hex=255;ok=true;

3.常整形转换为Qstring形

long a =63;

QString str=QString::number(a,16); //str="3f";

QString str=QString::number(a,16).toUpper(); //str="3F";

Qstring 转换char*问题!

方法一:[喝小酒的网摘]https://www.wendangku.net/doc/bf14786955.html,/a/8642.htm

QString qstr("hello,word");

const char * p = qstr.toLocal8Bit().data();

方法二:

const char *p = qstr.toStdString().data();

转换过来的是常量

把当前时间转化为QString...

public QDateTime qdate = QDateTime.currentDateTime();

datetime = qdate.toString("yyyy年MM月dd日ddddhh:mm:ss");

如果不是QTime和QDate类比如说:通过TCP/IP接收到的char unsigned char 类等如何转换为QString类

QString Time2String( DWORD dwTime)

{

char cTime[50] = {0};

memset(cTime,0,50);

strftime(cTime,32,"%Y-%m-%d %H:%M:%S",localtime(&time_t(dwTime))); return QString(cTime);

}

Qt Creator 快速入门 选择题 霍亚飞版

1.以下关于QT的描述正确的是: a.是一个不跨平台的C++图形用户界面 b.由挪威TrollTech公司出品 c.只支持Unix、Linux d.QT API和开发工具对所支持的平台是不一致的2.以下关于QT的描述不正确的是: a.QT支持2D图形渲染 b.QT支持3D图形渲染 c.QT支持OpenGL d.QT不支持XML 3.下关于不正确的是: a.是面向嵌入式系统的Qt版本 b.是Qt的嵌入式窗口 c.基于Windows平台的开发工具 d.是完整的自包含C++ GUI的开发工具 4.内部对字符集的处理采用以下哪个标准: a.UNICODE b.ASCII c.GB2312 d.ISO 8859-1 5.以下关于Qt描述不正确的是 a.是基于面向对象的C++语言 b.提供了signal和slot的对象通信机制 c.有可查询和可设计属性 d.没有字符国际化 6.以下描述正确的是: a.标准的C++对象模型可有效的支持运行时参数 b.标准的C++对象模型的静态特性十分灵活 c.图形用户界面编程无需运行得高效 d.图形用户界面编程无需运行得高灵活性 7.以下不是QT增加的特性: a.有效的对象通信signal和slot b.可查询和可设计的对象 c.事件及事件过滤器 d.不使用指针 8.以下描述正确的是: a.元对象系统可以对信号使用模板 b.元对象系统可以对槽使用模板 c.Qt可在多个平台的应用程序中完全应用模板 d.Qt不能在多个平台的应用程序中完全应用模板9.以下关于moc叙述正确的是:

a.moc即Mult Object Compiler b.可产生能被任何标准C++编译访问的附加C++代码 c.moc必须手动调用 d.类声明中有无Q_OBJECT无所谓 10.以下关于信号和槽的描述正确的是: a.用于SOCKET网络通信 b.用于UDP网络通信 c.用于对象间通信 d.用于串口通信 11.以下关于信号/槽的叙述不正确的是: a.信号与槽通过connected函数任意相连 b.信号/槽机制在QObject类中实现 c.从QWidget类继承的所有类可以包含信号和槽 d.当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信 号 12.以下类声明中有几处错误? class M : public Qobject { public : M ( ) ; int value ( ) const { return va ; } public slot : void setValue ( int ) ; signals : void valueChanged ( int ) ; private: int va ; }; a. 5 b. 4 c. 3 d. 2 13.设有如下声明 void M : : setValue ( int v ) { if ( v != va ) { va = v ; emit valueChanged ( v ) ; } }

Qt开发入门教程02_QtE开发基础

QtE开发基础

?嵌入式GUI特点及种类 ?安装与建立QtE桌面运行环境?QtE Hello程序

?嵌入式GUI特点及种类 ?嵌入式系统对GUI的基本要求包括轻型、占用资源少、高性能、高可 靠性及可配置。 ?尽管实时嵌入式系统对GUI的需求越来越明显,但目前GUI的实现方法 各有不同,主要有以下几点: ?某些大型厂商有能力自己开发满足自身需要的GUI系统。 ?某些厂商没有将GUI作为一个软件层从应用程序中剥离,GUI的支 持逻辑由应用程序自己来负责。 ?采用某些比较成熟的GUI系统,比如MiniGUI,MicroWindows 或其他GUI系统。

?MiniGUI ?MiniGUI由原清华大学教师魏永明先生开发,是一种面向嵌入式系 统或实时系统的图形用户界面支持系统。它主要运行于Linux控制台,实际可以运行在任何一种具有POSIX线程支持的POSIX兼容系 统上。

?MicroWindows ?MicroWindows是一个著名的开放源码的嵌入式GUI软件。它提供了 现代图形窗口系统的一些特性。MicroWindows API接口支持类 Win32API,接口试图和Win32完全兼容,而且还实现了一些Win32用户模块功能。

?Qt/Embedded ?Qt/Embedded(简称QtE)是一个专门为嵌入式系统设计图形用户界 面的工具包。Qt是挪威Trolltech软件公司的产品,它为各种系统提供图形用户界面的工具包,QtE就是Qt的嵌入式版本。 ?使用QtE,开发者可以: ?用QtE开发的应用程序要移植到不同平台时,只需要重新编译代 码,而不需要对代码进行修改。 ?可以随意设置程序界面的外观。 ?可以方便地为程序连接数据库。 ?可以使程序本地化。 ?可以将程序与Java集成。

Qt Creator快速入门期末试卷及答案 霍亚飞版

Qt复习提纲 Qt基础 1、以下关于QT的描述正确的是____B_____ A是一个不跨平台的C++图形用户界面 B由挪威TrollTech公司出品 C只支持Unix、Linux D QT API和开发工具对所支持的平台是不一致的 2、以下关于Qt描述不正确的是_____D__ A是基于面向对象的C++语言 B提供了signal和slot的对象通信机制 C有可查询和可设计属性 D没有字符国际化 3、以下不是QT增加的特性_____D___ A有效的对象通信signal和slot B可查询和可设计的对象 C事件及事件过滤器 D不使用指针 4、以下关于信号和槽的描述正确的是__C_____ A用于SOCKET网络通信 B用于UDP网络通信 C用于对象间通信 D用于串口通信 5、以下关于信号/槽的叙述不正确的是__B?______ A信号与槽通过connected函数任意相连 B信号/槽机制在QObject类中实现 C从QWidget类继承的所有类可以包含信号和槽 D当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信号 6、关于布局功能的叙述,以下正确的是____D____ A在布局空间中布置子窗口部件 B设置子窗口部件间的空隙 C管理在布局空间中布置子窗口部件 D以上都对 7、布局管理器包括____D____ A QHBox B QVBox C QGrid D 以上全有 8、以下叙述正确的是__D_______ A QHBox允许子窗口部件按水平、垂直和网格排列 B QVBox允许子窗口部件按水平、垂直和网格排列 C QGrid允许子窗口部件按水平、垂直和网格排列 D 以上全不对 9、创建一个窗体对象后,要想显示该窗体,需要调用对象的___show_______方法,要想隐藏该窗体需要调用对象的____hide______方法。

Qt-4.6动画Animation快速入门三字决

Qt-4.6新增了Animation Framework(动画框架),让我们能够方便的写一些生动的程序。不必像以前的版本一样,所有的控件都枯燥的呆在伟大光荣的QLayout里,也许它们可以唱个歌,跳个舞。 前面写过一篇文章Qt动画效果的幕后英雄:QTimeLine,介绍了怎么利用QTimeLine写一动画程序。今天又再重申前文里的一句话,所谓动画就是在一个时间段内的不同时间点有不同的状态,只要定义好这样状态,实现动画就是水到渠成的事情。当然做这件事情,最好用的就是状态机,没错Qt-4.6.0提供了QStateMachine类,不过今天我要讲的三字决要简单一些。 第一决:QPropertyAnimation QPropertyAnimation用于和QObject中的属性properties进行通信,比如QWidget的大小,坐标等。来看代码 QPropertyAnimation *animation = new QPropertyAnimation(myWidget, "geometry"); animation->setDuration(10000); animation->setStartValue(QRect(0, 0, 100, 30)); animation->setEndValue(QRect(250, 250, 100, 30)); animation->start(); 第一行创建的QPropertyAnimation对象关联了myWidget这个窗体的几何属性。后面的几句分别设置了这个动画的时长,起始坐标和结束坐标。剩下的事情就交改QProperAnimation 去做就行了。然后调用start()启动它。没错,五行代码就完成了一个完成了一个自动从一个坐标点移动到另一个坐标点的窗体。下面我给出一个可以运行的代码,是一只小鸟从下角移到中间的一个小动画,当然你得自己准备这个同名的图片:) #include #include #include #include int m ain(int argc,char *argv[]){ QApplication app(argc,argv); QWidget *w=new QWidget(); w->resize(300,400); QPixmap birdimg=QPixmap("twitter-bird.png").scaled(40,40); QLabel *bird_1=new QLabel(w); bird_1->setPixmap(birdimg); QPropertyAnimation *anim1=new QPropertyAnimation(bird_1, "pos"); anim1->set Duration(2000);

Qt Creator 快速入门实验讲义(带目录)

《Qt Creator快速入门》第2版 实验讲义 2014年6月

目录 实验1 Qt开发环境的搭建......................................................- 2 - 目的与要求..................................................................................................................- 2 - 实验准备......................................................................................................................- 2 - 实验内容......................................................................................................................- 2 - 实验2 编译和发布Qt程序...................................................- 16 - 目的与要求................................................................................................................- 16 - 实验准备....................................................................................................................- 16 - 实验内容....................................................................................................................- 16 - 实验3 使用Qt资源文件.......................................................- 25 - 目的与要求................................................................................................................- 25 - 实验准备....................................................................................................................- 25 - 实验内容....................................................................................................................- 25 - 实验4 创建登陆对话框..........................................................- 30 - 目的与要求................................................................................................................- 30 - 实验准备....................................................................................................................- 30 - 实验内容....................................................................................................................- 30 - 实验5 定时器和随机数..........................................................- 35 - 目的与要求................................................................................................................- 35 - 实验准备....................................................................................................................- 35 - 实验内容....................................................................................................................- 35 - 实验6 编译MySQL数据库驱动............................................- 38 - 目的与要求................................................................................................................- 38 - 实验准备....................................................................................................................- 38 - 实验内容....................................................................................................................- 38 - 实验7 数据库基本操作............................................................- 49 - 目的与要求................................................................................................................- 49 - 实验准备....................................................................................................................- 49 - 实验内容....................................................................................................................- 49 - 实验8 Qt数据库应用编程(综合设计)................................- 55 - 目的与要求................................................................................................................- 55 - 实验准备....................................................................................................................- 55 - 实验内容....................................................................................................................- 55 -

Qt入门教程第01章QtCreator的安装与最简单程序的编写

第01章Qt Creator的安装和hello world程序 第1章主要讲述windows下的Qt Creator下载、安装和最简单程序的编写,然后在附录里又讲解了两种其他的编写程序的方法。在linux下Qt Creator下载、安装及程序的编写基本与此相同。 1.1 Qt 简介 Qt 是一个跨平台的C++ 图形用户界面库,由挪威TrollTech 公司出品,目前包括Qt,基于Framebuffer 的Qt Embedded,快速开发工具Qt Designer,国际化工具Qt Linguist 等部分Qt 支持所有Unix 系统,当然也包括Linux,还支持WinNT/Win2k,Win95/98 平台。 Qt 具有下列优点: 1.优良的跨平台特性: Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。 2.面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。 3.丰富的 API Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。 甚至还包括正则表达式的处理功能。 4.支持 2D/3D 图形渲染,支持 OpenGL 5.大量的开发文档 6.XML 支持 1.2 Qt Creator的下载和安装 1. 下载 首先到Qt的官方网站上下载Qt Creator,这里我们下载windows版的。 Qt SDK: 完整的开发环境 Qt SDK 在一个单独的安装程序内包括了使用 Qt 构建跨平 台应用程序所需的工具。 ?Qt 库 4.7.0

Qt Creator 快速入门期末考试试卷及答案

一、选择题(每题2分,共15题,30分) 1.以下关于QT的描述正确的是:B a.是一个不跨平台的C++图形用户界面 b.由挪威TrollTech公司出品 c.只支持Unix、Linux d.QT API和开发工具对所支持的平台是不一致的 1.内部对字符集的处理采用以下哪个标准:A a.UNICODE b.ASCII c.GB2312 d.ISO 8859-1 2.以下描述正确的是:A a.标准的C++对象模型可有效的支持运行时参数 b.标准的C++对象模型的静态特性十分灵活 c.图形用户界面编程无需运行得高效 d.图形用户界面编程无需运行得高灵活性 3.以下不是QT增加的特性:D a.有效的对象通信signal和slot b.可查询和可设计的对象 c.事件及事件过滤器 d.不使用指针 4.以下描述正确的是:C a.元对象系统可以对信号使用模板 b.元对象系统可以对槽使用模板 c.Qt可在多个平台的应用程序中完全应用模板 d.Qt不能在多个平台的应用程序中完全应用模板 5.以下关于moc叙述正确的是:B a.moc即Mult Object Compiler b.可产生能被任何标准C++编译访问的附加C++代码 c.moc必须手动调用 d.类声明中有无Q_OBJECT无所谓 6.以下关于信号/槽的叙述不正确的是:D a.信号与槽通过connected函数任意相连 b.信号/槽机制在QObject类中实现 c.从QWidget类继承的所有类可以包含信号和槽 d.当对象状态变化时信号被发送,对象不关心是否有其他对象接收到该信 号 7.设有如下声明B void M : : setValue ( int v ) { if ( v != va ) { va = v ;

Qt Designer快速入门

几行代码轻松做上位机界面Qt Designer快速入门小教程 By Exilefox 2012年3月28日 做嵌入式的各位想必或多或少都听说过Qt,各种优点不细数了,简单的说这就是个做界面的IDE。 我发现很多Qt的教程都是用代码来编写界面程序,有没有图形化的方法呢!答案就是Qt Designer 打个比方,用代码写界面就像是你用记事本一行行的敲HTML代码,用Qt Designer 写界面就很类似用FrontPage或者DreamWeaver,拖些控件,调整一下位置、属性,补些css 效果,一个轻松的页面就出来了 此文意在引导初学者使用Qt Designer快速的入门编写界面,不关心底层的c++实现,总共只用敲几行代码 新建工程开始,如图选择,然后一路next。我就不多说了

工程建立好后来看看工程的结构 点击ui文件就可以切换到设计窗口,我们的ui设计主要就是在这里完成的,让我们看看结构 在左边的是控件栏,里面的控件(如我们将用到的按钮、框架等)可以直接拖拽到中间的窗口编辑区。各位有兴趣可以自己把他们一一拖出来,然后按shift+alt+R预览,看看是做什么功能的,我就不一一详述了(其实有些我也没用过,呵呵)。因为我们再之前建立工程时候默认的是Mainwindow类型,所以这个窗口一开始就自带了顶部菜单,顶部图标栏,底部状态栏等,各位想要干净点的可以在创建时试试其他类型。右上的显示的是从属结构,右下显示的是某个部件的属性。底部的是信号与槽编辑窗口,信号与槽的编辑方式有4种:拖拽、在编辑窗口添加,右键“转到槽”,在C++代码中用connect函数,在此只演示右键“转到槽”

相关文档
相关文档 最新文档