QT
centos-com
忘了近处忘了远处忘了源自何处道无界知识无界你我无界在茫茫宇宙中任何人任何有智慧的物种都可以随意转载和修改但禁止商用.
展开
-
QTheead使用整理1-基础
使用线程基本上有种使用线程的场合:通过利用处理器的多个核使处理速度更快。为保持GUI线程或其他高实时性线程的响应,将耗时的操作或阻塞的调用移到其他线程。何时使用其他技术替代线程开发人员使用线程时需要非常小心。启动线程是很容易的,但确保所有共享数据保持一致很难。遇到问题往往很难解决,这是由于在一段时间内它可能只出现一次或只在特定的硬件配置下出现。在创建线程来解决某些问题之原创 2013-04-23 10:26:04 · 1048 阅读 · 0 评论 -
QT 进度对话框:等待进度条
效果如下图: wait.gif 图片效果: .h文件#ifndef WAITDIALOG_H #define WAITDIALOG_H #include #include #include class WaitDialog : public QDialog { Q_OBJECT public: explicit原创 2013-04-27 14:55:06 · 2898 阅读 · 0 评论 -
QT 内建控件概览
Qt提供了大量的内建控件及通用对话框可满足程序员的绝大部分要求。本节中我们将对这些控件和对话框作一个大概的介绍。我们将在后面的章节中对部分控件作详细介绍:在第三章将介绍QMenuBar,QToolBar和QStatusBar等主窗口控件,在第六章中将介绍QSplitter和QScrollArea等布局类控件。大部分的内建控件和对话框都将在本书的例子中涉及。2.17至2.26的截图中控件均为KDE3原创 2013-05-02 16:06:03 · 1080 阅读 · 0 评论 -
QT状态栏QStatusBar
状态栏显示的信息分3种1. 一般信息,用QLabel 代表2. 永久信息,文本会一直显示在状态栏的最右边。3. 临时信息,指定信息现实的时间。时间到即信息消失 locationLabel_ = new QLabel("July");//locationLabel_ = new QLabel;locationLabel_->setAlignment(Qt::AlignC原创 2013-05-02 15:37:22 · 4351 阅读 · 0 评论 -
给Qt工程生成的可执行文件添加图标
给Qt工程生成的可执行文件添加图标1. 找一个ico文件,该名为适当的。如EXEICON.ico。2. 手动创建一个对应的rc文件。如EXEICON.rc: IDI_ICON1 ICON DISCARDABLE "EXEICON.ico"3. 将上面两个文件放在当前目录,把HdssMap.rc加入工程在中。重新生成即可。原创 2013-05-16 18:40:13 · 975 阅读 · 0 评论 -
给Qt窗体添加图标
在main函数中: QApplication a(argc, argv); a.setWindowIcon(QIcon(":/DataManager/Resources/statics.png"));原创 2013-05-16 18:40:54 · 876 阅读 · 0 评论 -
给Qt程序设置默认皮肤
给Qt程序设置默认皮肤: QApplication a(argc, argv); a.setStyle("windowsxp");还可设置为:"windows","motif","cde","motifplus","platinum","sgi"和"compact".根据平台,"windowsxp","aqua"或"macintosh"也是可以用的。原创 2013-05-16 18:41:41 · 1279 阅读 · 0 评论 -
QT 小技巧
1、如果在窗体关闭前自行判断是否可关闭答:重新实现这个窗体的 closeEvent()函数,加入判断操作void MainWindow::closeEvent(QCloseEvent *event){ if (maybeSave()) { writeSettings(); event->accept(); }原创 2013-05-02 16:16:25 · 1095 阅读 · 0 评论 -
VS2010 编译Qt4.8
-安装过程1.安装Visual C++2010,同时安装Windows SDK.2.下载Qt SourceCode.并解压。(假设解压到D:\Qt\4.8.2)3.设置环境变量:(假设VS2010安装在D:\Microsoft Visual Studio 10.0,安装后在C:\Program Files下会生成很多文件件)QTDIR=D:\Qt\4.8.2QMAKESPEC=原创 2013-05-15 20:19:14 · 1207 阅读 · 0 评论 -
qt 编译oracle oci驱动
一、安装 oracle 11.2客户端或服务端二、vs导入oci.pro %QTDIR%\src\plugins\sqldrivers\oci 三、设置vs的头文件,D:\app\rollen\product\11.2.0\client_1\oci\include 设置库文件路径D:\app\rollen\product\11.2.0\client_1\oci\原创 2013-05-15 20:20:50 · 889 阅读 · 0 评论 -
how to build QOCI (for linux and windows)
How to build QOCI under linux platform:1st:cd $QTDIR/src/plugins/sqldrivers/oci2nd:qmake "INCLUDEPATH+=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/rdbms/public /usr/lib/oracle/xe/app原创 2013-11-30 17:49:23 · 832 阅读 · 0 评论 -
linux上编译安装Qt4.7的QOCI驱动
方法步骤其实是参照Nokia的文档,在/opt/qtsdk-2010.05/qt/doc/html/sql-driver.html中,1.把/home/orisun/.bashrc中新添加的内容追加到/home/root/.bashrc中2.root@zcypc:/opt/qtsdk-2010.05/qt/src/plugins/sqldrivers/oci# qmake -o M原创 2013-11-30 17:50:49 · 1610 阅读 · 0 评论 -
QProcess学习
QProcessQt提供了一个QProcess类用于启动外部程序并与之通信. 启动一个新的进程的操作非常简单,只需要将待启动的程序名称和启动参数传递给start()函数即可. 例如: QObject *parent; QString program = "tar" QStringList arguments; arguments原创 2014-05-23 16:12:22 · 737 阅读 · 0 评论 -
QProcess 使用
QProcess类用于启动另一个外部应用程序,并可与之进行通信。该类的运行方式是异步的。QProcess类在外部进程拥有数据或完成时发送一个信号以通知相关的对象。QProcess的使用模板如下:[cpp] view plaincopyclass XXX : public XXXX { Q_OBJECT … pri原创 2014-05-23 16:16:16 · 998 阅读 · 0 评论 -
QT进程间通信介绍
1、QT通信机制为了更好的实现QT的信息交互,在QT系统中创建了较为完善的通信机制。QT的通信可分为QT内部通信和外部通信两大类。对于这两类通信机制及应用场合做如以下分析:(1)QT内部对象间通信在图形用户界面编程中,经常需要将一个窗口部件的变化通知给窗口的其它部件使其产生相应的变化。对于这种内部对象间的通信,QT主要采用了信号和槽的机制。这种机制是QT区别于其他GUI工具的核心机制。原创 2014-05-23 16:10:04 · 707 阅读 · 0 评论 -
QProcess机制分析
QProcess类通常是被用来启动外部程序,并与它们进行通信的。QProcess是把外部进程看成是一个有序的I/O设备,因此可通过 write()函数实现对进程标准输入的写操作,通过read(),readLine()和getChar()函数实现对标准输出的读操作。(1) QProcess通信机制QT可以通过QProcess类实现前端程序对外部应用程序的调用。这个过程的实现首先是将前端运行的原创 2014-05-23 16:10:58 · 1729 阅读 · 0 评论 -
QProcess使用思考
我想用QProcess cmd创建几个进程,在一个while循环里,给出一定的判断条件,我希望判断cmd.state(),然后看它如果notrunning或者用它的exitstatus来判断是否正常完成前一个进程,以此决定是否进行下一步。但是我发现,一个问题,如果用while(cmd.status() == QProcess::Running) { ...}的话,永远都会出现the Process原创 2014-05-23 16:18:10 · 1565 阅读 · 0 评论 -
Visual Studio :Eclipse CDT整理:迁移
比较Visual Studio 和 Eclipse Microsoft Visual Studio 具有悠久的历史,并广泛被 Windows 应用程序开发人员所采用。另外,它在 C 和 C++ Microsoft Windows 应用程序开发领域也处于领先地位。对比起来,Eclipse 相对较新,目前在开发人员社区中十分盛行。Eclipse CDT 被设计用来满足大多数 OS 平台(比如 Li原创 2013-04-27 09:42:48 · 1403 阅读 · 0 评论 -
Visual Studio :Eclipse CDT整理:比较
1、跟踪活动项不方便Visual Studio有这样一个功能叫做Tracking Active Item,有时候我需要它,有时候又希望关闭它。Visual Studio把它放在选项里面,每次修改的时候都要重复点菜单-》选分类-》点CheckBox-》点OK这样一个重复的动作。Eclipse把这个功能叫做Link with Editor, 放在主界面的Package Explorer的工具按原创 2013-04-27 09:45:44 · 1132 阅读 · 0 评论 -
QThread使用整理5-Class Reference
The QThread class provides platform-independent threads. More... #include Inherits: QObject.Inherited by: List of all members, including inherited membersQt 3 support membersPublic Types原创 2013-04-23 10:34:42 · 1232 阅读 · 0 评论 -
QThread使用整理2-信号和槽
首先引用Bruce Eckel的一句话,"理解线程的概念,应该用面向过程编程的思路去理解,而不应该用面向对象编程的思路去理解"。然后,上两段代码:1、会发生槽调用的代码[cpp]//ThreadSlotTest.h #ifndef THREADSLOTTEST_H #define THREADSLOTTEST_H #include #include原创 2013-04-23 10:30:44 · 2017 阅读 · 0 评论 -
QThread使用整理3-使用方法
所有事情源于 QThread的事件循环! QThread的两种使用方法 1. 不使用事件循环。这是官方的 Manual、example以及相关书籍中都介绍的一种的方法。a. 子类化 QThreadb. 重载 run函数,run函数内有一个 while或 for的死循环c. 设置一个标记为来控制死循环的退出。 2. 使用事件原创 2013-04-23 10:31:29 · 809 阅读 · 0 评论 -
QThread使用整理4-总结
QThread 似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用 QThread,随便用google一搜,就能搜出大量结果出来。无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong和众多用户一样,初次看到这个时,感到 Bradley T. Hughes有 些莫名奇妙,小原创 2013-04-23 10:33:34 · 834 阅读 · 0 评论 -
QMessageBox 简单使用
1,返回值 if(QMessageBox::warning(this,"确认", "是否要删除"+Name,QMessageBox::Yes,QMessageBox::No)==QMessageBox::Yes) { //执行Yes } if(QMessageBox::warning(this,"确认", "是否要删除"+Name,QMessageB原创 2013-04-23 10:18:45 · 1685 阅读 · 0 评论 -
进度对话框 QProgressDialog
//设置进度条对话框 QProgressDialog progress; progress.setWindowModality(Qt::WindowModal); progress.setWindowTitle(QObject::tr("process")); progress.setLabelText(tr("processing..."));原创 2013-04-23 10:23:06 · 1101 阅读 · 0 评论 -
Qstring ,char*,QByteArray转换
一 、使用arg()函数而不是传统的 sprintf() Qstring str;C语言中有printf()函数作为格式化输出,QString则提供了一个sprintf()函数实现了相同的功能:str.sprintf("%s %.1f%%" , "perfect competition" , 100.0); 这句代码将输出:perfect competition 100.原创 2013-04-24 13:37:19 · 1157 阅读 · 0 评论 -
QT去掉窗体标题栏
方法1:setWindowFlags(Qt::Dialog | Qt::WindowMinimizeButtonHint);方法2:setWindowFlags(Qt::FramelessWindowHint);直接隐藏掉,这样更好 setWindowFlags (Qt::WindowFlags type)Qt::FrameWindowHint: //没有边原创 2013-04-24 18:34:31 · 13614 阅读 · 0 评论 -
QSqlDatabase transaction()事物提交
1.QSqlDatabase db = QSqlDatabase::database();2.db.transaction();3. 4.bool sql_ok=TRUE;5.QSqlQuery q;6.QFile file(:/script.sql);7.QString script=file.readAll();8.QStringList sql=script.sp原创 2013-04-24 13:46:03 · 4696 阅读 · 0 评论 -
QT获取系统时间以及设置日期格式
原型:QString QDateTime::toString ( const QString & format ) constQDateTime time = QDateTime::currentDateTime(); //获取系统现在的时间QString str = time.toString("yyyy-MM-dd hh:mm:ss ddd"); //原创 2013-04-24 13:49:29 · 1130 阅读 · 0 评论 -
QT查看获取路径
方法1、//在需要的地方 QString path; QDir dir; path=dir.currentPath(); QMessageBox::warning(0,"PATH",path,QMessageBox::Yes);//查看路径 方法2、QCoreApplication::applicationDirPath();这是程序所在路径,楼主需原创 2013-04-24 16:42:51 · 873 阅读 · 0 评论 -
Qt如何读取windows系统环境变量
方法1:QString path = QProcessEnvironment::systemEnvironment().value("PATH")方法2:QStringList environment = QProcess::systemEnvironment(); QString str; foreach(str,environment) { if (str.st原创 2013-04-24 18:25:41 · 6495 阅读 · 0 评论 -
qt字符乱码转换.
QString FtpClient::uniToGBK(const QString &dirName){QTextCodec *codec=QTextCodec::codecForName("GBK");QByteArray array=codec->fromUnicode(dirName);//QByteArray array=dirName.toLatin1();QS原创 2013-04-24 18:57:27 · 865 阅读 · 0 评论 -
让QTreeWidget中的项目有复选框
QTreeWidget *legendView = new QTreeWidget(legend); //创建一个QTreeWidget对象 legend->setWidget(legendView); //将该对象设为以前创建的停靠窗口legend的部件 legendView->setSortingEnabled(false); //不自动排序 legendView原创 2013-04-24 19:14:42 · 9255 阅读 · 0 评论 -
C++Qt 统计运行时间
1. C/C++C中有基础库用于实现该功能,功能在time.h头文件中,代码实例如下: 1 #include 2 #include 3 #include 4 5 void main() 6 { 7 double time_Start = (double)clock(); //开始时间 8 //操作。。。 9 double ti原创 2013-04-24 13:41:32 · 1141 阅读 · 0 评论 -
QTreeWidget 和QTreeWidgetItem用法总结
QTreeWidgetItem::addChild(QTreeWidgetItem*) //用于根节点添加子节点QTreeWidget::setColumnCount ; //用于设置表中的列的列数目,在表头中会有对应的显示,QTreeWidget::setHeaderHidden();原创 2013-04-27 08:22:21 · 28004 阅读 · 0 评论 -
QT好用的加密解密类:SimpleCrypt
Simple encryption with SimpleCryptThe class presented in this article does not provide strong encryption!It will protect your data from casual observers, but it will not stand up to dedicated ha原创 2013-04-27 14:40:46 · 5196 阅读 · 0 评论 -
QString 和std::string互转
std::string cstr;QString qstring;//****从std::string 到QStringqstring = QString(QString::fromLocal8Bit(cstr.c_str()));//****从QString 到 std::stringcstr = string((const char *)qstring.toLocal8Bi原创 2014-07-24 09:58:54 · 665 阅读 · 0 评论