QT总结(一)
来源:互联网 发布:.wang是什么域名 编辑:程序博客网 时间:2024/06/05 07:26
Qt总结
这是在编写一个智能聊天和天气查询中所遇到的问题的总结:
1.QEditLine之类的输入控件透明方法:
QPalette palette=ui->ChatEdit->palette();
palette.setBrush(QPalette::Base,QBrush(QColor(0,0,0,100)));
ui->ChatEdit->setPalette(palette);
这个方法不必在构造函数中•使用,任何地方透明画刷均有效,最后一个参数是透明化的程度。
2. 背景图片:
重载paintEvent方法,在其中调用drawPixmap来插入背景图片。
QPainter painter(this) painter.drawPixmap(0,0,size().width(),size().height(),QPixmap( “C:\Users\meng\Desktop\11.jpg” ));
3.访问网站
简单的Get方法,使用如下:
void CChatDlg::slotSendMSG()
{
QString strMSG;
strMSG=ui->SendEdit->toPlainText();
QString Total=strURL+strMSG;
QNetworkRequest request;
request.setUrl(QUrl(Total));
//request.setRawHeader(“apikey”,”afb1a6005ad7a1f12cf6a649669ac3d3”);//天气api的库
reply=networkManager.get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
}
void CChatDlg::slotReadyRead()
{
if (reply->error() == QNetworkReply::NoError)
{
//read some thing
QString str=reply->readAll();
ui->ChatEdit->append(str);
}
else
{
// 出现错误,打印出来,方便调试解决
QVariant statusCodeV = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
//statusCodeV是HTTP服务器的相应码,reply->error()是Qt定义的错误码,可以参考QT的文档
qDebug( “found error ….code: %d %d\n”, statusCodeV.toInt(), (int)reply->error());
qDebug(qPrintable(reply->errorString()));
}
}
一个稍复杂的例子:
if (!strCityName.isEmpty())
{
strCityName=strUrl +strCityName;
QNetworkRequest request;
request.setUrl(QUrl(strCityName));
request.setRawHeader("apikey","afb1a6005ad7a1f12cf6a649669ac3d3");//天气api的库 reply = networkManager.get(request); connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));}else{ return;}
4.QT5大部分控件的透明化方法,继承该控件,在构造函数中调用以下方法,透明度共分为十个等级。
QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
setGraphicsEffect(opacityEffect);
opacityEffect->setOpacity(0.5);
5.嵌套Json的解析
QJsonDocument jsonDocument = QJsonDocument::fromJson(str.toUtf8(), &er);
if (er.error==QJsonParseError::NoError)
{
if (jsonDocument.isObject())
{
QList result = jsonDocument.toVariant().toMap().first().toList();
QMap
- QT总结(一)
- qt常用总结(一)
- qt鼠标事件总结(一)
- Qt多线程编程总结(一)
- Qt多线程编程总结(一)
- Qt多线程编程总结(一)
- [转] Qt多线程编程总结(一)
- Qt自总结(一) QThread
- Qt多线程编程总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- Qt学习编程总结(一)
- QT笔记:数据库总结(一)
- QT笔记:数据库总结(一)
- 02-如何冻结拆分表格
- 百度地图,高德地图,HTML5经纬度比较
- 接口继承和多态
- cocos2dx 使用Json(用于游戏更新)
- iOS7教程系列:自定义导航转场动画以及更多
- QT总结(一)
- ArcGIS 通过 Excel 发布要素服务教程
- cocos2dx 常见的动作汇总
- MATLAB如何将多维矩阵以列数据的的方式变成一维矩阵。
- ORACLE在新服务中建立数据库
- ppt幻灯片转换成pdf格式查看
- 升级部署和修改
- 【转载】MIMO技术杂谈(二):犹抱琵琶半遮面--MIMO信道中隐藏的秘密
- voip 音频系列专题之------序言