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
#include
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运行结果
Qt中从数据库读取内容,从xml读取内容,设置QSS_第1张图片

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;
}

你可能感兴趣的:(Qt,xml,qt,qss,数据库)