前情回顾
我又有一个多月没写博客了,上个月太忙了,忙着毕业设计跟论文,请了一个多月的假,实习也快结束了,我把我遇到的写下来,大家一起学习。

内容

 一、trimmed       //删除字符头尾空格二、setEchoMode  //设置密码保护(输入字符为小黑点)       //输入什么就显示什么1、echoLineEdit->setEchoMode(QLineEdit::Normal);//密码,一般是用小黑点覆盖你所输入的字符2、echoLineEdit->setEchoMode(QLineEdit::Password);//编辑时输入字符显示输入内容,否则用小黑点代替3、echoLineEdit->setEchoMode(QLineEdit::PasswordEchoOnEdit);//任何输入都看不见(只是看不见,不是不能输入)4、echoLineEdit->setEchoMode(QLineEdit::NoEcho);三、setFocus 设置光标的位置四、给按钮删除立体感  控件->setFlat(true);五、background-position:center;background-repeat:no-repeat 背景图片 居中与平铺六、v->setSizeConstraint(QLayout::SetFixedSize) 窗口会随着内容的多少调整窗口大小七、QT之单步调试:在工具中的调试器中源码路径映射中的添加qt源码:把qt的安装路径放进去。八、对于QTabWidget这个控件类来说,要给每个菜单设置背景记得要加::pane,或者QTabWidget QWidget#objectName(菜单的name)九、QComboBox信号与槽函数connect(m_pComboBox_InputType,SIGNAL(currentTextChanged(QString)), this, SLOT(on_comboBox_currentTextChanged()));void AddPara::on_comboBox_currentTextChanged(){if(m_pComboBox_InputType->currentText().compare("select") != 0){m_pLabItems->hide();m_pLineEdit_Items->hide();}else{m_pLabItems->show();m_pLineEdit_Items->show();}}

十、如果有时候setStyleSheet不起作用,就要重写paintEvent事件进行重载

11、

     QPixmap p(获取图片路径);控件->setPixmap(p);//设置显示的图片

12、
滚动条:

     QScrollArea *scroll = new QScrollArea();QWidget *widget = new QWidget();//对该widget中的布局已经完成scroll->setWidget(widget);

13、getItemPosition函数:

     int index = btn->boxV->indexOf(btn);//get btn positionint row , column, rowSpan, columnSpan;if(-1 != index){btn->boxV->getItemPosition(index, &row, &column, &rowSpan, &columnSpan);//Location information of index control}

14、

DESTDIR = $$PWD/../bin/debug // 放置目标文件。
将debug与release版本生成的目标文件分别放置想要的文件夹:
CONFIG(debug,debug | release):DESTDIR = $$PWD/../../../../Simulator
else:DESTDIR = $$PWD/../build-uai-Desktop_Qt_5_6_3_MinGW_32bit-Release/releasedebug:DESTDIR = $$_PRO_FILE_PWD_/../../../Win32/debugrelease:DESTDIR = $$_PRO_FILE_PWD_/../../../Win32/release

更多干货:QT之pro配置详情

15、关闭窗口出现警告:重载closeEvent(QCloseEvent *event),在函数中添加:
(另外,在函数中试用close()函数,会触发closeEvent事件,例如下面slotOk()函数,保存完文件之后,要关闭整个窗口,使用close(),返回值使用return不符合逻辑,使用exit(0)是正常程序退出的时候用到,虽然可以达到效果,只是这个函数是直接退出程序,析构那边好像有点问题,跟exit(1)是在非正常关闭程序时使用的函数,有所差别。再说回来,只能使用close()函数,解决办法就是加个全局变量来使用)。

int ret = QMessageBox::warning(0,"Tips",QString("Do you want to save it to the current path?"),QMessageBox::Yes| QMessageBox::No| QMessageBox::Close,QMessageBox::No);if(ret == QMessageBox::No ){event->accept();}else if(ret == QMessageBox::Yes){slotOk();//文件保存}else{event->ignore();}

16、布局QGridLayout,水平居中,靠右,靠左等

    AlignLeft: 水平左对齐AlignRight: 水平右对齐AlignCenter:垂直、水平居中AlignHCenter:水平居中AlignTop:垂直上对齐AlignBottom:垂直下对齐AlignVCenter,:垂直居中AlignBaseiine:垂直基线对齐AlignJustify: 填满空间QGridLayout *pLayout = new QGridLayout(this);pLayout->addWidget(btn, 0, 0,  Qt::AlignTop);

17、读取文件中的内容作用在setStylesheet函数中,文本中的注释用/*,//不起作用。

18、项目中添加lib,在pro中的LIBS下加-l…lib

19、QLabel的超链接:

pLab4->setOpenExternalLinks(true);
pLab4->setText(tr("<a href=\"http://www.123123.com.cn/\">http://www.123123.com.cn"));

20、背景渐变色:

double Rate = double(nY) / double(nHeight);
QString strStyleSheet = "QWidget {background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(232, 235, 238, 255), stop:";strStyleSheet += QString::number(Rate);strStyleSheet += " rgba(232, 235, 238, 255), stop:";strStyleSheet += QString::number(Rate + 0.0001);strStyleSheet += " rgba(151, 167, 182, 255), stop:1 rgba(151, 167, 182, 255));}";this->setStyleSheet(strStyleSheet);

21、QDockWidget的初始化跟大小设置
22、子线程与GUI主线程通信,进行信号与槽时,connect函数里第五个参数添加(Qt::BlockingQueuedConnection)。
23、从路径中选择文件并打开文件,开始对文件操作:

QString strName = QFileDialog::getOpenFileName(this, "Tipic");
QFile file(strName .trimmed());

24、QFileDialog类,getSaveFileName(选择文件保存),getOpenFileName(打开文件),以及后边的打开的文件类型条件:

QString fileNameConvert = QFileDialog::getSaveFileName(this, "ConvertFile",QString(),"Link(*.l);;All Files(*.*)");if(fileNameConvert.isEmpty()){return;}QFile fileConvert(fileNameConvert.trimmed());QString strName = QFileDialog::getOpenFileName(this, "The file will be checked",QString(),"Link(*.l);;All Files(*.*)");

25、QString的截取:string.mid(start_index,lenth),第一个参数开始位置,第二个参数截取长度。

26、QString、QByteArray、std::string之间的差别:

QString与QByteArray之间的编码不一样,前者默认的是以unicode的字符串,后者是存取的数据,
string不说明编码输出汉字则会出现乱码。两者之间的转化网上都有,如果不转化,后者无法输出汉
字,是以十六进制来保存的。比如:
QByteArray byte("罗斯");QString str("罗斯");
byte那边就会变为6个字节,
qDebug之后为"\xE7\xBD\x97\xE6\x96\xAF","罗斯";直接转到QString就可以输出中文了。
前者在内部自动转化输出,两者都可以保存'\0',lenth函数不会到'\0'结束。
两者以"\xxx"来保存数据,是以八进制来保存的,比如:
QByteArray byte("\034"),QString str("\034"),
两者的ASCII码值是28,八进制是34,十六进制为1c,都是一个字节,前者输出“\x1C”,后者输出
“\u001C”。
但是如果是第三者不存在这个情况,遇到\0就会停  止。第二个如果是以八进制来保存的
可以使用toHex来输出十六进制。
1中的字符类型是QChar,2是char类型的,3是size_t(int 型转换成十六进制的是跟QByteArray中一样).

27、QLineEdit中的提示语句(在填写之前编辑框中有提示语句,写入之后就消失),使用setPlaceholderText函数,qLineEdit->setPlaceholderText(“提示”);

28、正则表达式:setValidator、setToolTip(鼠标悬停在文本框上会有提示)

QRegExpValidator validator = new QRegExpValidator(QRegExp("[0-9a-fA-F]{4}"), this);
ui->editLine->setValidator(validator);
ui->editLine->setToolTip("Attribute=HEX, Length= [4, 4]");

29、在拿到路径的情况下,得到文件名:

QFileInfo infoPathName = QFileInfo(strPathName);
QString strFileName = infoPathName .fileName();

30、QListView的使用(添加行,删除行,遍历数据)

QT常用函数和总结(持续更新)相关推荐

  1. C语言字符串常用函数总结(持续更新)

    最近在重温C语言的一些基础知识,感觉C语言字符串操作还是比较难的,在学习的过程中总结了一些常用的字符串相关函数,包括C语言字符串输入.字符串输入.计算字符串长度.字符串赋值.字符串分割.字符串拼接.字 ...

  2. C++常用函数汇总(持续更新)

    注:写这篇文章是为了平时学习积累噢!文中的内容都表明出处啦,我只写了大概,不如原博主写的好,大家见谅哈~ 目录 vector accumulate sort find vector 作用:它能够像容器 ...

  3. 稀里糊涂学-MySQL常用函数汇总(持续更新)

    ABS:求绝对值 SELECT ABS(5),ABS(-2.4),ABS(-24),ABS(0); SQRT:求二次方根  这个类似Java    math函数 SELECT SQRT(25),SQR ...

  4. Vertica的这些事(四)—— 关于vertica常用函数介绍(持续更新ing)

    取绝对值:select abs(-1); 向上取整:select ceil(-1.001); 向下取整:select floor(-1.001); 取整:select trunc(-1.002); 四 ...

  5. db2dual_DB2常用SQL的写法(持续更新中...)

    DB2常用SQL的写法(持续更新中...) -- Author: lavasoft -- Date  :  2006-12-14 -- 创建一个自定义单值类型 create  distinct typ ...

  6. psid mysql_DB2常用SQL的写法(持续更新中...)

    DB2常用SQL的写法(持续更新中...) -- Author: lavasoft -- Date  :  2006-12-14 -- 创建一个自定义单值类型 create  distinct typ ...

  7. 数据库常用操作,会持续更新

    数据库常用操作,会持续更新 1.DDL-数据库操作show databases; 查询所有数据库 create database 数据库名: 创建数据库 use 数据库名: 进入所选的数据库中 sel ...

  8. IDEA 快速返回上次查看代码的位置常用的IDEA快捷键(持续更新)

    IDEA 快速返回上次查看代码的位置常用的IDEA快捷键(持续更新) IDEA 快速返回上次查看代码的位置:快捷键是:ctrl+alt+方向键(<-往回) 更多精彩请访问本文源地址: https ...

  9. C 常用函数罗列(长期更新)

    C 常用函数罗列(长期更新) void *memset(void *Dst,int val,size_t size); 用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化.

  10. Windows下bat批处理脚本常用场景整理,持续更新中。。。

    Windows下bat批处理脚本常用场景整理,持续更新中... 一.Winodws下使用bat脚本对结果进行筛选 例如:在筛选出来的结果中,筛选是否有"$G"字段 adb shel ...

最新文章

  1. 快速排序的难点_数据结构考研重难点解析:快速排序
  2. linux日志中有空格,linux中统计排序的内容含有空白行的解决办法
  3. MATLAB中cfl,ML4835复合PFC/CFL小型荧光灯基于Matlab的电力电子电路仿真方法
  4. 【NLP】使用堆叠双向 LSTM 进行情感分析
  5. linux proc 占用空间,一种诡异的Linux磁盘空间被占满问题
  6. 单机mysql能支撑起10w的qps_高并发redis - 读写分离支撑qps10w+
  7. 安全网关之三:IPTables
  8. html 定位z_index,绝对定位、固定定位和z-index
  9. Linux实战第三篇:RHEL7.3 yum更换实战
  10. 肇庆市二技学校计算机电算化,肇庆市有那些技术学校
  11. field list什么意思_Redis:我这21个灵魂拷问你拿什么挡?
  12. Redux 入门 -- 处理 async action
  13. 计算机网络工程综合布线目的,浅谈网络工程综合布线系统
  14. openCV实践项目:图片文本检测
  15. 托福、雅思、托业有什么区别?
  16. 跟随鼠标移动-demo
  17. SPQuery 的若干.....小问题.......
  18. 【VBS脚本】VBS复制Excel工作簿
  19. Codevs 1066 引水入城 2010年NOIP全国联赛提高组 BFS + 贪心
  20. 人工智能:从图灵到未来

热门文章

  1. 美国国家机器人计划2.0部分项目简介
  2. 2019-11软考报名网站汇总,陆续更新
  3. 2021年全球风力发电铸件收入大约1958.1百万美元,预计2028年达到2121百万美元
  4. java map putall 覆盖_Java HashMap putAll() 方法
  5. Deepin 系统没有 Times New Roman 等微软字体
  6. mcafee 8.5i杀毒软件规则配置
  7. 千人基因组计划基因分型数据下载
  8. selenium中的driver各类方法介绍
  9. C语言引用方式调用函数
  10. 【嵌入式软件开发】之面试常识(一)