Qt5 学习积累
目录
1.cout/cin
头文件:
#include<QTextStream>
需要对cout/cin进行定义
QTextStream cout(stdout,QIODevice::WriteOnly);
QTextStream cin(stdin,QIODevice::ReadOnly);
2.随机数
头文件:
#include <QTime>
#include <QtGlobal>
种子:
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
随机数:
int n=qrand()%100;
3.QSting、 string、QChar,、char等的转换
- QString转string
string s=qstr.toStdString();
- string转QString
QString qstr=QString::fromStdString(s);
- 转换后乱码处理
std::string cstr;
QString qstring;
//从std::string 到QString
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
//从QString 到 std::string
cstr = string((const char *)qstring.toLocal8Bit());
//不需要从gbk转到utf8
QString value_content = QString::fromStdString(vec[i].content);
QString value_classname = QString::fromStdString(vec[i].classname);
- QChar转char
QChar qch='e';
char ch=qch.toLatin1();
- char转QChar
char ch='w';
QChar qch=QChar(ch);
- char *转QString
char *ch="Today";
QString qstr=QString(QLatin1String(ch));
4.退出
头文件:
#include <qapplication.h>
connect(quit,SIGNAL(clicked()),qApp,SLOT(quit()));
5.Qt::tr()
函数tr()全名是QObject::tr(),被它处理的字符串可以 使用工具提 取出来翻译 成其他语言, 也就是做国际化使用。
只要记住,Qt的最佳实践:如果你想让你的程序国际化的话,那么,所有用户可见的字符串都要使用QObject::tr()!但是,为什么我们没有写 QObject::tr(),而仅仅是tr()呢?原来,tr()函数是定义在Object里面的,所有使用了Q_OBJECT宏的类都自动具有tr()函数。
6.QFrame::shape,shadow
- setFrameShape( QFrame.Shape shape) - 设置QFrame类窗口的边框,
shape有以下属性:
- NoFrame:无边框
- Box:矩形框
- Panel:凸起或凹陷的面板 - WinPanel: Windows 2000风格的面板,可以是凸起或下沉。边框的宽度是2像素。此属性是为了与旧版本的Qt兼容而存在的;
- HLine:水平线(用作分隔符); - VLine:垂直线(用作分隔符);
- StyledPanel:依据当前GUI类型,画一个矩形面板,可以凸起或下沉
- setFrameShadow(QFrame.Shadow shadow) - 设置QFrame类窗口的阴影,shadow有以下属性:
- Plain,0x010:无阴影
- Raised,0x020:面板凸起
- Sunken,0x030:面板下沉
- setFrameStyle(int style) - 同时设置边框和女阴影。style是QFrame.Shape和QFrame.Shadow的"|"组合。
7.QComboBox::setSizeAdjustPolicy
设置下拉列表框尺寸的调整策略
QComboBox *com=new QComboBox;
com->setSizeAdjustPolicy(QComboBox::AdjustToContents);
- QComboBox::AdjustToContents
下拉列表框符合内容的大小 - QComboBox::AdjustToContentsOnFirstShow;
组合框会在第一次显示时调整其内容。 - QComboBox::AdjustToMinimumContentsLength
使用AdjustToContents或者AdjustToContentsOnFirstShow代替。 - QComboBox:: AdjustToMinimumContentsLengthWithIcon
组合框将调整为最小contentslength加上图标的空间。
8.QToolBox中加入部件
需要使用addItem()函数
int QToolBox::addItem(QWidget *widget, const QIcon &iconSet, const QString &text)
int QToolBox::addItem(QWidget *w, const QString &text)
QQ::QQ(QWidget *parent,Qt::WindowFlags f):QToolBox(parent,f)
{
this->addItem((QWidget*)box1,"好友");
this->addItem((QWidget*)box2,"同学");
this->addItem((QWidget*)box3,"黑名单");
}
9.事件函数
void QWidget::moveEvent(QMoveEvent *event)
Qwidget中的虚函数,可在派生类中重新定义。响应窗体移动事件(窗体移动,会自动调用这个函数)
void QWidget::resizeEvent(QResizeEvent *event)
Qwidget中的虚函数,可在派生类中重新定义。响应对话框大小调整事件(对话框大小改变,会自动调用)
void QWidget::paintEvent(QPaintEvent *event)
Qwidget中的虚函数,可在派生类中重新定义。重绘事件(1.调用了repaint()或update(),2.小部件被掩盖了,现在被发现了。都会自动调用这个函数)
10.QPen
1. QPen()
2. QPen(Qt::PenStyle style)
3. QPen(const QColor &color)
4. QPen(const QBrush &brush, qreal width, Qt::PenStyle style = Qt::SolidLine, Qt::PenCapStyle cap = Qt::SquareCap, Qt::PenJoinStyle join = Qt::BevelJoin)
QBrush,width,PenStyle,PenCapStyle,PenJoinStyle;5个参数
QPen(const QPen &pen)QPen(QPen &&pen)
(end)后面更新
var code = "87d48a9b-299c-4721-a9a1-39744b53d6e5"
Qt5 学习积累的更多相关文章
- ios开发 学习积累20161027~20161031
前言 学习ios这几天来,总结下,函数的定义,调用.跟其他语言都有一定的区别: 几个特别重要的就是对象的迭代的使用和判断.取随机数.动画的实现及数组的深入研究等等 之前的总结地址 ios开发 学习积累 ...
- 我的QT5学习之路(目录)
说明:本目录内容为自己学习的心得和记录,参考资料来源于网络,学习过程中多方汲取,如有错误,欢迎指正和批评. Qt开发相关文章目录 一.我的Qt学习之路系列 1.[笔记]我的Qt学习之路(一)——浅谈Q ...
- 前端框架Easyui学习积累
前端框架Easyui学习积累 1.easyui textbox 赋值:$("#id").textbox("setValue","xx"); ...
- Qt5学习笔记(1)-环境配置(win+64bit+VS2013)
Qt5学习笔记(1)-环境配置 工欲善其事必先-不装-所以装软件 久不露面,赶紧打下酱油. 下载 地址:http://download.qt.io/ 这个小网页就可以下载到跟Qt有关的几乎所有大部分东 ...
- 我的QT5学习之路(三)——模板库、工具类和控件(下)
一.前言 作为第三篇的最后一部分,我们来看一下Qt的控件,谈到控件,就会让人想到界面的美观性和易操作性,进而想到开发的便捷性.作为windows界面开发的MFC曾经是盛行了多少年,但是其弊端也随着其他 ...
- 我的QT5学习之路(一)——浅谈QT的安装和配置
一.前言 说到Qt,不能不说到C++,这门伟大的语言.因为其面向对象的编程思想和陡峭的学习曲线,一开始学习起来很是吃力.Qt从QT4开始基本封装了很多C++的工具库和界面库,而且支持跨平台,这是它最大 ...
- QT5学习记录(一)
学习环境:Windows10 + QT5.13 + QT Creater4.9.1(2019-08-10 22:02:30) 1.基本工程创建操作 常规操作创建画面,可选择QDialog.MainWi ...
- 【转】JNI学习积累之一 ---- 常用函数大全
原文网址:http://blog.csdn.net/qinjuning/article/details/7595104 本文原创,转载请注明出处:http://blog.csdn.net/qinjun ...
- qt5学习目录
qt5下载与安装,VS2017的环境配置 q ...
- Web开发 学习积累20161018
项目 一.项目做的是什么 业务逻辑 -> 增删改查 二.什么是面向对象编程,它有哪些好处 oop:object oriented programming <>核心思想:使用人类思考问 ...
随机推荐
- JDBC的增删改-结果集的元数据-Class反射-JDBC查询封装
一.使用JDBC批量添加 知识点复习: 1.JDBC的六大步骤 (导入jar包, 加载驱动类,获取连接对象, 获取sql执行器.执行sql与并返回结果, 关闭数据库连接) 2.封装了一个DBU ...
- PlayWright(十七)- 参数化
今天来讲下参数化,具体是什么意思呢,举个例子 比如我们要测试登录功能,第一步会填写账号,第二步会填写密码,这是一条完整的操作,但是其中会有很多条用例比如账号错误.密码错误.账号为空.密码为空的各种 ...
- 使用docker构建可动态启动的FreeSWITCH实例
操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 Docker版本:23.0.6 使用docker打包FreeSWITCH可以极大简化部署环节,但针对高可用场景的 ...
- SpringBoot项目:net.sf.jsqlparser.parser.ParseException: Encountered unexpected token:XXXXX
原文地址 写在前面 最近开发过程中,在where条件中使用IF函数,在MySQL数据库中,使用Navicat运行没有问题,但是运行项目的时候,死活过不去,一直报错,后来一番折腾找到了解决方案,所以,以 ...
- JAVA小白找工作必备建议
如果您是一名刚入门的JAVA小白,正在寻求工作机会,那么恭喜您来对地方!本文将为您提供一些建议,帮助您在求职过程中更好地展现自己的优势和准备迎接新的挑战. 1.基础知识打牢 在找工作前,务必确保您对J ...
- altas2.1.0编译、安装、集成CDH6.3.2
目录 altas2.1.0编译.安装.集成CDH6.3.2 一: Atlas源码下载 二: Atlas源码编译 1.修改altas项目主pom文件,即需要编译的CDH6.3.2对应版本信息 2.Atl ...
- AMH安装Nextcloud出现Access denied
AMH部署了LAMP或者LNMP,然后常规安装Nextcloud,安装完成后跳转到首页就出现Access denied.Nextcloud的文件夹权限已经修改,可读写.http://127.0.0.1 ...
- 看,这些 plugins 常用又简单
前面文章中 体验了webpack的打包 .解析css资源 .处理图片字体等文件 接下来看看 plugins 有什么作用吧~ 项目路径如下,和上一篇 处理图片字体等文件 项目保持一致 demo ├─ s ...
- SimpleDateFormat 线程安全问题修复方案
问题介绍 在日常的开发过程中,我们不可避免地会使用到 JDK8 之前的 Date 类,在格式化日期或解析日期时就需要用到 SimpleDateFormat 类,但由于该类并不是线程安全的,所以我们常发 ...
- 05 地址解析协议ARP
地址解析协议(ARP) ARP(Address Resolution Protocol)地址解析协议: 根据已知的IP地址解析获得其对应的MAC地址 ARP工作流程 1.HOST1 ARP缓存 HOS ...