Linux書(shū)簽上下移動(dòng)方式
Linux書(shū)簽上下移動(dòng)
步驟
讀書(shū)簽文件,分割到QStringList,點(diǎn)擊右鍵菜單獲取序號(hào),交換序號(hào),寫(xiě)書(shū)簽文件。
QStringList.swap(int, int) 過(guò)時(shí),QStringList.swapItemsAt(int, int) 代替。
書(shū)簽文件路徑
- mainwindow.h
const QString filepath_bookmark = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/gtk-3.0/bookmarks";
上移
connect(action_bookmark_move_up, &QAction::triggered, [=](){
QTreeWidgetItem *TWI = ui->treeWidget_nav->currentItem();
int index = TWI_bookmark->indexOfChild(TWI);
QFile file(filepath_bookmark);
if (file.open(QFile::ReadWrite)) {
QTextStream TS(&file);
QString s = TS.readAll();
QStringList SL = s.split("\n");
SL.swapItemsAt(index, index - 1);
s = "";
for (int i=0; i<SL.length(); i++) {
s += SL.at(i);
if (i < SL.length() - 1)
s += "\n";
}
file.resize(0);
TS << s;
file.close();
}
});下移
- swap -1 改成 +1,其他一樣。
connect(action_bookmark_move_down, &QAction::triggered, [=](){
QTreeWidgetItem *TWI = ui->treeWidget_nav->currentItem();
int index = TWI_bookmark->indexOfChild(TWI);
QFile file(filepath_bookmark);
if (file.open(QFile::ReadWrite)) {
QTextStream TS(&file);
QString s = TS.readAll();
QStringList SL = s.split("\n");
SL.swapItemsAt(index, index + 1);
s = "";
for (int i=0; i<SL.length(); i++) {
s += SL.at(i);
if (i < SL.length() - 1)
s += "\n";
}
file.resize(0);
TS << s;
file.close();
}
});監(jiān)視到書(shū)簽文件變化更新書(shū)簽樹(shù)
QFileSystemWatcher只觸發(fā)一次
- 百度AI回答:
- 只能觸發(fā)一次,如果需要持續(xù)觸發(fā),需要在處理完觸發(fā)后,再次添加路徑。
const QString filepath_bookmark = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/gtk-3.0/bookmarks";
QFileSystemWatcher *watcher = new QFileSystemWatcher;
watcher->addPath(filepath_bookmark);
connect(watcher, &QFileSystemWatcher::fileChanged, [=]{
genBookmark();
watcher->addPath(filepath_bookmark);
});總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
centos6.5中用yum方式安裝php5.4與apache2.2的步驟
相信大家都知道lamp的安裝配置,最麻煩的是apache和php,網(wǎng)上關(guān)于apache和php的安裝配置有很多的相關(guān)文章,本文通過(guò)針對(duì)版本進(jìn)行詳細(xì)的介紹,文章主要介紹的是centos6.5中用yum方式安裝php5.4與apache2.2的步驟,感興趣的朋友們可以參考學(xué)習(xí)。2016-10-10
linux 普通用戶(hù)切換成root免密碼的實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇linux 普通用戶(hù)切換成root免密碼的實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的?,F(xiàn)在就分享給大家。也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12
Linux(CentOS)??同步服務(wù)器chrony的安裝配置和常用命令
Chrony是一款開(kāi)源的網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)客戶(hù)端和服務(wù)端軟件,旨在提供高精度的時(shí)間同步功能,相較于傳統(tǒng)的NTP實(shí)現(xiàn)如ntpd,Chrony提供了一些改進(jìn)和優(yōu)勢(shì),包括更快的同步速度、低延遲、低CPU占用和低內(nèi)存消耗,本文介紹Linux(CentOS)??同步服務(wù)器chrony的安裝配置和常用命令2024-06-06
Windows 10 下安裝 Apache 2.4.41的教程
這篇文章主要介紹了Windows 10 下安裝 Apache 2.4.41的教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
Apache安全配置之禁止目錄訪(fǎng)問(wèn)的配置方法
這篇文章主要介紹了Apache禁止目錄訪(fǎng)問(wèn)的配置方法,這是一個(gè)常見(jiàn)的、非常有必要的apache安全配置之一,需要的朋友可以參考下2014-05-05
Linux使用head命令查看文件開(kāi)頭內(nèi)容的方法詳解
在 Linux 系統(tǒng)中,head 命令是一個(gè)非?;A(chǔ)且實(shí)用的工具,它能夠幫助我們快速查看文件的前幾行內(nèi)容,本文將深入探討 head 命令的各種用法,并通過(guò)豐富的代碼示例和圖表來(lái)展示其強(qiáng)大功能,需要的朋友可以參考下2026-01-01
在Linux服務(wù)器上安裝 memcached的基本操作
本文分步驟給大家詳細(xì)介紹了linux服務(wù)器上安裝memcached的操作方法,非常不錯(cuò),需要的朋友參考下吧2016-12-12
Linux下gdb調(diào)試打印棧幀中的變量過(guò)程
這篇文章主要介紹了Linux下gdb調(diào)試打印棧幀中的變量過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
簡(jiǎn)單實(shí)現(xiàn)linux聊天室程序
這篇文章主要介紹了簡(jiǎn)單實(shí)現(xiàn)linux聊天室程序的詳細(xì)代碼,幫助大家了解聊天室的實(shí)現(xiàn)原理,感興趣的小伙伴們可以參考一下2015-12-12

