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...

Qt开发笔记——动画

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

Qt Quick学习笔记之Qt开发环境快速上手

知识点: 在QT欢迎界面,点击“Get Started Now”按钮,则会进入Qt Creator帮助模式并打开Qt Creator的手册页面 随着QT SDK 5.3.0发布的Qt Creato...

嵌入式Qt开发环境搭建及移植到开发板----Qt学习笔记

整了好多天的Qt移植,今天终于弄出来了。记录一下学习过程,可把我闹心死了。 先说说Qt源码包,我刚装Qt的时候非常乱,又有x11的,又有embedded的,还有everywhere的。现在明白了...

嵌入式Qt开发环境搭建及移植到开发板----Qt学习笔记

整了好多天的Qt移植,今天终于弄出来了。记录一下学习过程,可把我闹心死了。 先说说Qt源码包,我刚装Qt的时候非常乱,又有x11的,又有embedded的,还有everywhere的。现在明白了,安...

qt开发及实例1

  • 2017年07月03日 21:36
  • 69MB
  • 下载

【Qt开发】QSplitter的使用和设置

Qt库版本:5.2.1     Qt Creator版本:3.0.1 1 QSplitter的用途     QSplitter使得用户可以通过拖动子窗口之间的边界来控制它们的大小,例...

Qt开发更改文字号大小

  • 2014年11月15日 22:37
  • 31KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT开发笔记
举报原因:
原因补充:

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