【Qt-应用编程】
普通网友
这个作者很懒,什么都没留下…
展开
-
Qt Windows下开机自动启动自己的程序
void Widget::Readregedit(){ QString path; QDir dir; path=dir.currentPath();//在QtCreator中点击运行的话地址是工程地址,想要获得应用地址就点击文档中的应用程序(.exe文件) QString sApp = path + "/RemoveFiles.exe";//我的程序名称原创 2013-10-27 23:23:07 · 5858 阅读 · 3 评论 -
qt,tcp传输,文件传输,服务器无法完整发送数据的解决方法(只发送了文件名没用传输数据bytesWritten=0)
这个问题纠结了一整个星期,就是我在qt上写了个tcp协议收发文件,但是永远都是只传了文件名字,文件数据却一直传不过去。bytesWritten一直是0以为是socket方面没用一直连接导致文件传了个名字就没传数据,搞了很久,突然发现一个问题。界面:首先我是要先点击监听等待用户连接。待有用户连上后开始打开文件并发送。发送信号连接到文件转码槽,并且发送文件名原创 2012-11-11 20:45:05 · 5165 阅读 · 2 评论 -
linux常用+好用指令笔记(持续更新)
文字编辑: vi切换编辑模式:a,o,i .返回:Esc切换指令模式: / .返回:Esc保存::w强制保存: w!退出::q强制退出: :q!保存退出: :wq没修改直接退出,修改后保存退出:ZZ向下搜索:/word向上搜索:?work向后删除:x(相当于del)向前删除:X(相当于backspace)返回: u(相当于ctrl+z)前进:原创 2012-09-18 23:34:17 · 473 阅读 · 0 评论 -
linux qt,产生随机数的一种方法
代码:system("echo $RANDOM >./random");QString fileName;fileName = "./random";QFile file(fileName);if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){ qDebug() return;}Q原创 2012-09-18 09:28:46 · 925 阅读 · 0 评论 -
在mysql上update数据带中文会犯得傻
先上代码: query.exec(tr("UPDATE equipment SET name =\"%1\" WHERE id =%2").arg(equipmentName).arg(id));query.exec(tr("UPDATE equipment SET name =%1 WHERE id =%2").arg(equipmentName).ar原创 2012-09-13 22:37:20 · 3899 阅读 · 0 评论 -
贡献自己写的,在linux,arm上的屏幕搜索wifi并连接(qt,多选择,wifi按信号排列)
先上代码!!#include "widget.h"#include "ui_widget.h"#include #include Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this);原创 2012-09-07 15:18:18 · 8812 阅读 · 22 评论 -
Clock skew detected. Your build may be incomplete.解决方法
在linux 系统中make时会查看文件的修改时间,如果修改时间在不对make自动过滤不生成,所以只要修改时间。把系统时间修改到后面(明年)就可以了原创 2012-09-06 21:52:16 · 2041 阅读 · 0 评论 -
linux 下qt 写udp传输 中文输入输出
先上代码!QTextCodec *tc =QTextCodec::codecForName("GBK");QByteArray ba = file.readAll();str =tc->toUnicode(ba);一般电脑存储中文是以gbk编码,如果这样不行,试试把gbk换成utf-8即:QTextCodec *tc =QTextCodec::codecFo原创 2012-09-06 17:32:20 · 1420 阅读 · 0 评论 -
非常好用的开机等待(程序)界面类!
先上代码!int main(int argc, char *argv[]){ QApplication a(argc, argv); QSplashScreen *splash = new QSplashScreen; splash->setPixmap(QPixmap(":/loading.jpg")); splash->show();原创 2012-09-04 23:32:23 · 996 阅读 · 4 评论 -
qt 写类似通话记录,通信录这样的东西可以用listwidget
ui->listWidget->setViewMode(QListView::ListMode); ui->listWidget->setIconSize(QSize(100,100)); QListWidgetItem *item1; item1 = new QListWidgetItem; item1->setIcon(QIcon(":/lock原创 2012-09-04 05:41:37 · 1590 阅读 · 0 评论 -
在linux下用qt打开或直接读取文件及其中的问题!(system(),qfile,qprocess)
打开文件:1.system("/home/qt/HelloWorld/HelloWorld");//直接打开文件。注:若出现 error: cannot convert 'QString' to 'const char*' for argument '1' to 'int system(const char*)'是因为system()接收ascii码,一般字符串可以,但加变量就不行原创 2012-08-30 23:19:12 · 5170 阅读 · 0 评论 -
Qt 各种控件 设置背景(持续更新)
父窗口widget: QPixmap pixmap(":/iphoneUi/background.png"); palette.setBrush(backgroundRole(), QBrush(pixmap)); this->setPalette(palette); this->setAutoFillBackground(true);用法跟原创 2012-08-10 20:46:24 · 5000 阅读 · 0 评论 -
qt list widget 设背景与父窗口一致
试了setAttribute(Qt::WA_TranslucentBackground); 没用 SetOpacity(0)也没用;但是要搞定非常简单。。。listWidget->setStyleSheet("background:transparent;");搞定。。。原创 2012-08-10 01:53:10 · 2659 阅读 · 0 评论 -
The program has unexpectedly finished.问题小结
在我短短的学习程序时间里,这个问题经常出现,先记录下来并作以后的参考。1.project中有的控件没有实例化(没有new): switch1->set("air",10); switch1->setParent(this);第一次忘了 switch1 = new switch_button;结果就出错 switch1 = new swit原创 2012-08-05 04:35:48 · 9751 阅读 · 0 评论 -
Qt 设置控件颜色 用palette
一般的属于QWidget子类的一些控件,可以直接使用样式表,例如label->setStyleSheet("color:white");Qpalette类相当于对话框或是控件的调色板,它管理着控件或窗体的所有颜色信息,每个窗体或控件都包含一个QPalette对象,在显示时按照它的QPalette对象中对各部分各状态下的颜色的描述来进行绘制。就像油漆匠的油漆计划,当要刷墙时,到计划中去查转载 2012-08-05 04:11:54 · 6471 阅读 · 0 评论 -
c++中的int64(qt中的qint64),在java(android)中是什么
在tcp传输中。在c++里通常会用到int64来存放文件大小这些数据。int64占8字节。也就是byte[8],如果需要在java中取出来时,则需要对应的定义在java中。int64,可以用BigInteger来定义。也就是BigInteger bigInt = new BigInteger(bytes);原创 2012-11-15 17:24:08 · 8984 阅读 · 0 评论 -
qt 显示当前时间的两种方法
第一种: QDateTime dateTime; QString currentTime; dateTime = QDateTime::currentDateTime(); currentTime = dateTime.toString("yyyy-MM-dd_hhmmss");第二种: QDateTime time原创 2012-11-21 21:59:13 · 2867 阅读 · 1 评论 -
串口调试几个小知识
测试一条串口线行不行用一条杜邦线接串口上的2、3口自己发送,看接收的对不对找串口是哪个设备时可以在超级终端上输出echo 1 > /dev/ttySAC0,看有没有输出结果,有就是那个(还有ttySAC0,ttySAC1,ttySAC2,ttySAC3,ttyS0,ttyS1,ttyS2,ttyS3...)调试时,把用来控制的串口和传输的串口分开,不然debug的数据也会到原创 2013-08-10 13:39:41 · 927 阅读 · 0 评论 -
关闭qt程序
qApp->quit();原创 2013-07-27 15:17:11 · 721 阅读 · 0 评论 -
sinaapp上用svn进行代码部署
只说一句:装TortoiseSVN时记得用1.6版本原创 2013-06-20 22:36:32 · 1153 阅读 · 0 评论 -
Android、pc文件无线双向传输软件
写了很久的Android、pc文件无线双向传输开发,要开发Android的app和电脑的软件,用tco协议在局域网内互相传输文件。中间遇到不少问题,把遇到的问题和解决的方法的罗列一下。一.socket的问题。在android的app上,我把连接socket,发送文件和接收文件分成三个类,而且本身对tcp双向传输不熟,所以这部分就遇到很多问题。1.socket在类之间原创 2013-06-09 12:02:11 · 5596 阅读 · 1 评论 -
QT 与 android java socket通讯 中文字符编码问题 解决
QT作为 socket server,接受java端发送来的数据。(通过UTF8编码进行数据传输) qint64len = sock->bytesAvailable(); qDebug() QByteArray alldata = sock->read(len) QTextCodec *utf8codec = QTextCodec::cod转载 2013-06-05 10:04:39 · 1287 阅读 · 0 评论 -
C++中的单例模式
单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输出,GUI应用必须是单鼠标,MODEM的联接需要一条且只需要一条电话线,操作系统只能有一个窗口管理器,一台PC连一个键盘。 单例模式有许多种实现方法,在C++中,甚至可以直接用一个全局变量做转载 2013-05-10 15:50:37 · 920 阅读 · 0 评论 -
在c++(qt)中,截十六位转八位的方法(十六进制转二进制,上位机数据传下位机时需要)
qint16 a =0x00ff; qDebug()>8)&0xff)因为qt输出的是int十进制,所以结果是 0 255首先qint16是定义一个十六位的类型,0x00ff是255的十六进制因为十六位转八位时会截取后八位所以如果要完整截取需要取两次第一次取前8位uchar((a>>8)&0xff)ucha : r是一个八位的字符类型,所以原创 2013-04-27 17:45:35 · 5189 阅读 · 0 评论 -
android 串口通信,蓝牙通信等需要输出十六进制数据的方法
byte[] datagram = new byte[2];datagram[0] = (byte) 0xaa;datagram[1] = (byte) 0x55;原创 2013-04-25 21:50:31 · 4088 阅读 · 3 评论 -
给父类的父类的构造函数传递参数
C::C(int i):B(i),A(i)原创 2013-04-24 16:46:00 · 1137 阅读 · 0 评论 -
opencv 人脸识别 眼睛识别 鼻子嘴巴等等的分类器haarcascade
不用到网上找了。在你安装的opencv的地址就有我的是/usr/local/OpenCV-2.0.0/data/haarcascades以下都有haarcascade_eye_tree_eyeglasses.xml haarcascade_mcs_eyepair_small.xmlhaarcascade_eye.xml haarcasca原创 2013-03-30 20:17:10 · 16650 阅读 · 10 评论 -
子类传递参数给它的父类的构造函数
一般程序的运行顺序是先从父类再到子类,如果想在子类定义时传递参数给父类就要显示地调用父类的构造函数如: 在.cpp文件中的:b::b():a(arg){}这样就能把arg传递给a这个类的构造函数中原创 2013-04-16 16:59:49 · 4916 阅读 · 0 评论 -
OpenCV Error: Assertion failed (src.type() == dst.type()) in cvResize, file /usr/local/OpenCV-2.0.0/
src 和dst ,不匹配1.check这两个图或者矩阵是不是初始化了2.如果初始化了,初始化的大小是不是一样,即两者有没有相同的长宽3.两者的depth深度是不是一样,即是不是一个是三通道的,一个是单通道的。或者一个是单通道32位浮点类型,一个是单通道8位整形类型转载 2013-03-26 17:47:39 · 6710 阅读 · 0 评论 -
win7 虚拟机vmware下ubuntu上网(共享物理机网络)
首先,因为我一开始选用无线上网,搞了一天都没办法,之后发现无线的话虚拟机无法虚拟你物理机的无线网络。结果换了用网线方式,搞了一个钟搞定。用的是学校网络拨号上网,不知道有没有影响。方法如下:首先虚拟机中设置网络连接为 NAT1.删除 虚拟机DHCP内容(Windows 自带的 DHCP 就可以正常工作了,不必再手动设IP):这里有两个方法:1.原创 2013-03-09 16:46:26 · 3609 阅读 · 1 评论