QT开发笔记

转载 2016年08月31日 11:09:11

1.显示中文

#include <QTextCodec>

main函数中加

 QTextCodec *texcCode;
 texcCode=QTextCodec::codecForName("GB18030");
 QTextCodec::setCodecForCStrings(texcCode);
 QTextCodec::setCodecForTr(texcCode);
 QTextCodec::setCodecForLocale(texcCode);

 

2.获得部件相对屏幕的绝对地址

部件->mapToGlobal(QPoint(0,0));

 

3.隐去窗口边框

构造函数中加Qt::FramelessWindowHint;如:

Dialog::Dialog(QWidget *parent) :
    QDialog(parent,Qt::FramelessWindowHint)

 

4.刷新界面

QCoreApplication::processEvents();

 

5.让窗口居中显示

在main函数w.show后加

w.move ((QApplication::desktop()->width() - w.width())/2,(QApplication::desktop()->height() -w.height())/2);

  全屏(w.showFullScreen();)

6.以16进制显示某数

例如:label.setText(QString::number(c , 16 ));

 

7.以密文显示

例如 :ui->pwdLineEdit->setEchoMode(QLineEdit::Password);

 

8.关于qDebug():

qDebug("%x",n);无法输出16进制,会是错误的数字。

要这样用

qDebug()<<hex<<253<<endl;

 

9.获取事件前后时间差

QDateTime now = QDateTime::currentDateTime();

事件...

QDateTime then = QDateTime::currentDateTime();

int i = now.secsTo(then);

 

10.超时控制

 QTime dieTime = QTime::currentTime().addSecs(time);
 while( QTime::currentTime() < dieTime )
 {

}

10.设置字体

setStyleSheet("color: rgb(255, 0, 255);font-size : 30px;");

 

11

void QT_vDisplay(int iLine, const char *pcFormat, ...)
{
 if(iLine <=0 )
  return;
 char buf[100];
 va_list  pArg;
 va_start(pArg,pcFormat);
 vsprintf(buf,pcFormat,pArg);
 w->ui.listWidget->item(iLine-1)->setText(buf);
 QCoreApplication::processEvents();
}

 

12在程序中调用另一个程序的方法


uchar execProcess(char* pucLoad)
{
 QProcess proc;

 if(pucLoad == NULL)
  return EM_ERRPARAM;
 char cLoadBuf[256];
 memset(cLoadBuf,0x00,sizeof(cLoadBuf));
 if(pucLoad[0] == '/' || pucLoad[0] == '.')
  sprintf(cLoadBuf,"%s",pucLoad);
 else
  sprintf(cLoadBuf,"./%s",pucLoad);

 proc.start(cLoadBuf);

 qDebug("开始启动进程\n");
 // 等待进程启动
 if (!proc.waitForStarted())
 {
  qDebug("启动失败\n");
  return EM_ERROR;
 }
 // 关闭写通道,因为没有向进程写数据,没用到
 proc.closeWriteChannel();


 // 用于保存进程的控制台输出
 QByteArray procOutput;
 // 等待进程结束
 while (false == proc.waitForFinished())
 {
  ;
 }

 qDebug("进程结束\n");
 return EM_SUCCESS;

}

Qt开发笔记

1、QGridLayout QGridLayout包含多个grid,它并没有要求其中的每个grid的size相同,通常情况下,每个grid的size是不同的。 对于成员函数addWidget(wi...
  • jianpeng5
  • jianpeng5
  • 2014年08月14日 17:37
  • 545

用Qt开发安卓应用,是不是不成熟?有什么缺陷?

Qt的设计目标是跨平台,而不是在任何平台都能超越原生的GUI框架,这几乎是不可能的。 在 Windows,Linux下可以说Qt是很好的,因为Windows原生的C++ GUI框架太烂,而Linux...
  • STN_LCD
  • STN_LCD
  • 2017年07月10日 08:50
  • 317

pyqt开发笔记

pyqt开发经验整理
  • u012813451
  • u012813451
  • 2017年03月18日 23:03
  • 196

qt开发笔记1

QMainWindow继承与Qwidget 当Qwidget 类中界面发生变化(例如:最大/小化)时,触发showEvent()函数。类似函数还有changeEvent()keypressEvent(...
  • stweddy
  • stweddy
  • 2014年12月23日 16:57
  • 858

Qt开发笔记——动画

用Qt做一个update程序,界面上需要一个类似电子相册的控件用来循环播放图片: 1. Qt中的动画效果可以通过QPropertyAnimation类来实现,这个类通过设置动画作用的目标setTar...
  • u011175448
  • u011175448
  • 2016年09月03日 13:50
  • 369

细数Qt开发的各种坑(欢迎围观)

1:Qt的版本多到你数都数不清,多到你开始怀疑人生。从4.6开始到5.8,从MSVC编译器到MINGW编译器,从32位到64位,从Windows到Linux到MAC。MSVC版本还必须安装对应的VS2...
  • feiyangqingyun
  • feiyangqingyun
  • 2016年12月16日 09:38
  • 1489

windows下的QT开发(学习一)

1. QT的自动补齐快捷键 函数自动补齐快捷键:Ctrl + 空格。由于在windows下,默认的输入法切换快捷键为【Ctrl + 空格】,故需要更改QT下的快捷键才能使用:工具->选项->环境->...
  • smalltreehere
  • smalltreehere
  • 2012年12月18日 20:52
  • 618

Qt开发Android APP之微信应用

android手机现在使用得比较普遍了,网上各种各样五花八门的应用极大地丰富了手机党们的精神生活,说到手机应用,微信可以说是当仁不让的老大,路边、公交、地铁,随处可见人们不停地用手指划拉着屏幕,刷着朋...
  • yangsh3002
  • yangsh3002
  • 2016年08月22日 00:47
  • 2727

QT开发

 最近接了个新活,做电力检测系统的,客户强烈要求用QT开发界面,以前一直做系统方面的东东,突然有点不适应了:(...
  • CHALLEN537
  • CHALLEN537
  • 2007年08月29日 23:43
  • 864

我推荐的Qt资源-网站、论坛、博客等-来自《零基础学Qt 4编程》一书的附录

 附录C     Qt资源 C.1 Qt 官方资源全球各大公司以及独立开发人员每天都在加入 Qt 的开发社区。他们已经认识到了Qt 的架构本身便可加快应用程序开发进度。这些开发人员,无论是想开发单平台...
  • qter_wd007
  • qter_wd007
  • 2010年03月06日 22:41
  • 7761
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT开发笔记
举报原因:
原因补充:

(最多只允许输入30个字)