1. Qt - Quick控制項配置文件(qtquickcontrols2.conf)
Qt Quick Controls支持一個特殊的配置文件 qtquickcontrols2.conf ,該文件內置於應用程序的資源中。
配置文件可以指定首選樣式和某些樣式特定的屬性。下面的示例指定首選樣式為 Material樣式 。此外,當應用程序以「材質」樣式運行時,其主題為淺色,強調色和原色分別為藍綠色和藍灰色。但是,如果應用程序改用 通用樣式 運行,則強調色為紅色,並根據系統主題色選擇適當的主題。
可以使用 QT_QUICK_CONTROLS_CONF 環境變數為配置文件指定自定義位置。
可以 Controls 在配置文件的一部分中指定以下值:
下表在配置文件的一部分中列出了可用於配置 Imagine樣式 的值 Imagine :
例如,要指定存儲在 資源系統 的目錄的路徑:
要指定本地目錄的相對路徑:
注意: 由於技術限制,如果路徑相對於文件 qtquickcontrols2.conf ,則不應將其命名為 「 imagine」 。
下表在配置文件的一部分中列出了可用於配置 材料樣式 的值 Material :
下表在配置文件的一部分中列出了可用於配置 通用樣式的 值 Universal :
可以在配置文件中每個樣式部分的子組中指定默認 字體 Font 。 Font 可以通過兩種替代方式定義該子組:
支持的字體屬性:
可以在配置旁州文件中每個樣式部分的子組中指定默認 調色板 Palette 。 Palette 可以通過兩種替代方式定義該子組:
要麼:
有關支持的屬性的和啟咐完整列表,請參見 調色板QML基本類型 。
為了使Qt Quick Controls可以找到配置文件,必須使用 The Qt Resource System 將其內置到應用程序的資源中喚純。這是一個示例 .qrc 文件:
注意: Qt Quick Controls使用文件選擇器來載入配置文件。可以為不同的平台和語言環境提供不同的配置文件。有關更多詳細信息,請參見 QFileSelector 文檔。
最後, .qrc 必須在應用程序的 .pro 文件中列出該文件,以便構建系統知道該文件。例如:
2. QT中打開文件如何追加寫入
file.open(QIODevice::WriteOnly|QIODevice::Append)
這個是追加寫入的意思
3. QT 讀取文件寫入Qtablewidget中
1、HeatUser類
classHeatUser
{
public:
HeatUser(){
}
HeatUser(QStringname,floatflow,floatdistance,shorttime){
strcpy(Name,name.toLocal8Bit().data());
Flow=flow;
Distance=distance;
Time=time;
}
~HeatUser(){
}
QStringgetName(){
returnName;
}
QStringgetFlow(){
returnQString("%1").arg(Flow);
}
QStringgetDistance(){
returnQString("%1").arg(Distance);
}
QStringgetTime(){
returnQString("%1").arg(Time);
}
private:
charName[30];
floatFlow;
floatDistance;
shortTime;
};
2、對象初始化
QFilefile("aa.txt");
if(file.open(QIODevice::ReadOnly))
{
QTextStreamstream(&file);
while(!stream.atEnd())
{
QStringListlist=stream.readLine().split(QRegExp("\s+"));
HeatUserhUser(list.at(0),static_cast<QString>(list.at(1)).toFloat(),
static_cast<QString>(list.at(2)).toFloat(),
static_cast<QString>(list.at(3)).toShort());
vec.push_back(hUser);
}
}
3、文件內容
aa126.022.699
bb165.023.6100
4、寫入Qtablewidget
ui->tableWidget->setRowCount(2);//設置行數為2
ui->tableWidget->setColumnCount(4);//設置列數為4
QStringListheader;
header<<"Name"<<"Flow"<<"Distance"<<"Time";
ui->tableWidget->setHorizontalHeaderLabels(header);
for(inti=0;i<vec.count();i++)
{
ui->tableWidget->setItem(i,0,newQTableWidgetItem(vec[i].getName()));
ui->tableWidget->setItem(i,1,newQTableWidgetItem(vec[i].getFlow()));
ui->tableWidget->setItem(i,2,newQTableWidgetItem(vec[i].getDistance()));
ui->tableWidget->setItem(i,3,newQTableWidgetItem(vec[i].getTime()));
}
4. Qt中的QSettings這個類有.value這個成員函數嗎
必須有啊,給你一個讀寫配置文件的方法,你試試!可以有
bool QQUtil::writeInit(QString path, QString user_name, QString password)
{
if(path.isEmpty() || user_name.isEmpty() || password.isEmpty())
{
return false;
}
//創建配置文件操作對象
QSettings settings(path, QSettings::IniFormat);
//將用戶信息寫入配置文件
settings.beginGroup("config");
settings.setValue("user_name", user_name);
settings.setValue("password", password);
settings.endGroup();
return true;
}
bool QQUtil::readInit(QString path, QString user_key, QString &user_value)
{
user_value = QString("");
if(path.isEmpty() || user_key.isEmpty())
{
return false;
}
//當前目錄的INI文件
QSettings settings(path, QSettings::IniFormat);
//讀取用戶配置信息
user_value = settings.value("config/"+user_key).toString();
return true;
}
5. qt中彈出配置文件
Qt操作配置文件.ini文件是通過類QSettings來完成的,需要包含頭文件#include 配置文件中存放的是節點和鍵值對,如圖: SENSOR和灶衫ADDRESS是節點,節點下以鍵值對方式存放配置信息
1、寫配置文件://路徑為虧辯雹程序路徑下,文件不存在銷帆會自行創建 QString iniFilePath = QCoreApplication::applicationDirPath() + "/config.ini"; //新建QSettings類,路徑+格式 QSettings settings(iniFilePath,QSettings::IniFormat); //設置編碼,使支持中文 settings.setIniCodec("UTF-8"); //設置配置文件值,「節點 + / + 鍵」,值 settings.setValue("ADDRESS/detail","武漢"); 2、讀取配置文件:QString str = settings.value("ADDRESS/detail").toString();
6. qt如何把鏈表中的數據寫入文件,並且把文件裡面的內容載入到鏈表
先遍歷QList,將裡面每個對象都寫到文件,然後保存
再打開文件,一個按一個Object讀出來,恢復Object的狀態,最後一個個的push進QList裡面
7. Qt 關於讀寫配置文件.ini,該如何解決
我寫個了程來序,用到了源配置文件來初始化和保存程序中的文本框的信息。在我的電腦可以實現 但是發到不裝Qt的電腦上,程序就只可以讀取配置文件的數據 , 但是不能把新信息寫入。
------解決方案--------------------------------------------------------
------解決方案--------------------------------------------------------
沒qt的電腦,需要你把自己exe依賴的qt庫都打包放在一起,這樣在沒qt環境的電腦上才能正常運行。
------解決方案--------------------------------------------------------
8. qt中怎樣將lineEdit的內容寫入文件並保存
長了腦子是要用的。
打開QtCreator的幫助頁面,找到
Qt Reference Documentation ---》Classes--》QLineEdit Class Reference
看到QLineEdit的幫助文檔,
Signals
void cursorPositionChanged ( int old, int new )
void editingFinished ()
void returnPressed ()
void selectionChanged ()
void textChanged ( const QString & text )
void textEdited ( const QString & text )
textEdited()是一個信號,不是函數,不能幹任何事,這是用於觸發其他槽函數的。
獲取文本的函數:
Public Functions
QString text () const
獲取文本用lineEdit->text() ;
這么簡單都不用腦子?
Access functions:訪問文本的函數
QString text () const
void setText ( const QString & )
Notifier signal:通知信號
void textChanged ( const QString & text )
9. Qt中配置文件QSettings使用方法
QSettings類提供了持久的跨平台應用程序設置。用戶通常期望應用程序記住它的設置(窗口大小、位置等)所有會話。這些信息通常存儲在Windows系統注冊表,OS X和iOS的屬性列表文件中。在Unix系統中,在缺乏標準的情況下,許多應用程序(包括KDE應用程序)使用INI文本文件。QSettings圍繞這些抽象技術,使我們能夠以便攜的方式保存和恢復應用程序設置。它還支持自定義存儲格式。QSettings API基於QVariant,可以保存很多基礎的類型,比如 QString、QRect、QImage等。如果你需要的是一個非持久性的基於內存結構,可以考慮使用QMap<QString, QVariant>代配敬鎮替。
QString exe_FilePath = QCoreApplication::applicationDirPath(); //獲取exe應用程序路徑
QString current_FilePath= QDir::currentPath(); //獲取當前工作目錄路徑
QSetting對象既可以創建在棧上,也可以創建在堆(即new)上,構建和銷毀速度很快。當創建一個QSetting對象時,必須指定公司或組織名稱(或文件名),和產品應用培粗名稱(或文件格式,例如Windows中的.ini)。
方法一:
方法二:
方法一:
效果如下
方稿塵法二:
效果如下