Qt中从数据库读取内容,从xml读取内容,设置QSS

1.从数据库读取内容

//从数据库中读取数据
QSqlDatabase database = QSqlDatabase::addDatabase("QSQLITE");
database.setDatabaseName("E:\\test.db");
if(database.open()){
	QSqlQuery sql_query;
	QString selectSql="select * from Table";
	sql_query.prepare(selectSql);
	if(sql_query.exec()){
		while(sql_query.next()){
			QString column1= sql_query.value(0).toString();
			QString column2 = sql_query.value(1).toString();
			int column3 = sql_query.value(2).toInt();
		}
	}
}

2.从xml读取内容
注意:在.pro中添加 Qt += xml

#include<QtXml/QDomDocument>
#include<QtXml/QDomElement>
void MainWindow::readFromXML()
{
    //从xml中读取数据
    QString dir = QApplication::applicationDirPath();//exe所在目录
    dir += "/test.xml";
    QFile file(dir);
    if(!file.open(QIODevice::ReadOnly |QFile::Text)){
        return;
    }
    QDomDocument doc;
    QString error;
    int row=0,column=0;
    if(!doc.setContent(&file,false,&error,&row,&column)){
        file.close();
        return;
    }
    QDomElement rootElement = doc.documentElement();
    QString domtagname = rootElement.tagName();
    qDebug() << "domtagname: " << domtagname;
    //获取根节点下的所有元素
    QDomNodeList rootEleList = rootElement.childNodes();
    for(int i=0; i<rootEleList.count(); ++i){
        QDomNode secondRootNode = rootEleList.item(i);
        //QDomElement secondElement = secondRootNode.toElement();
        QDomNodeList datalist = secondRootNode.childNodes();
        for(int j=0; j < datalist.count(); ++j){
            QDomNode xNode = datalist.item(j);
            QDomElement xElement = xNode.toElement();
            QString xTagName = xElement.tagName();
            qDebug() << "xTagName: " << xTagName;
            QString xTagValue = xElement.text();
            qDebug() << "xTagValue: " << xTagValue;
        }
    }
    file.close();
}

xml内容

//xml文件内容
<?xml version="1.0" encoding="utf-8"?>
<root>
  <second>
    <node1>1</node1>
    <node2>1.1</node2>
  </second>
  <second>
    <node1>2</node1>
    <node2>2.2</node2>
  </second>
</root>

读取xml运行结果
这里写图片描述

3.读取qss并设置

//从文件中读取qss样式并设置样式
QString qssdir = QApplication::applicationDirPath();
qssdir += "/myqss.qss";
QFile qssfile(qssdir);
if(!qssfile.open(QIODevice::ReadOnly)){
	return;
}
QByteArray btnstyle = qssfile.readAll();
qssfile.close();
somewidget->setStyleSheet(btnstyle);

qss文件内容

QPushButton{
		border: 0px solid #C0C0C0;
        background-color: rgb(250,250,250);
		border-style:solid;
		border-radius:0px;
        padding:0 0px;
		margin:0 0px;
}
QLabel{
		border: 0px solid #C0C0C0;
        background-color: rgb(250,250,250);
		border-style:solid;
		border-radius:0px;
        padding:0 0px;
		margin:0 0px;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力减肥的小胖子5

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值