Linux書簽上下移動方式
更新時間:2025年03月20日 10:13:27 作者:海天鷹
這篇文章主要介紹了Linux書簽上下移動方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
Linux書簽上下移動
步驟
讀書簽文件,分割到QStringList,點擊右鍵菜單獲取序號,交換序號,寫書簽文件。
QStringList.swap(int, int) 過時,QStringList.swapItemsAt(int, int) 代替。
書簽文件路徑
- 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)視到書簽文件變化更新書簽樹
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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
centos6.5中用yum方式安裝php5.4與apache2.2的步驟
相信大家都知道lamp的安裝配置,最麻煩的是apache和php,網(wǎng)上關(guān)于apache和php的安裝配置有很多的相關(guān)文章,本文通過針對版本進行詳細的介紹,文章主要介紹的是centos6.5中用yum方式安裝php5.4與apache2.2的步驟,感興趣的朋友們可以參考學(xué)習(xí)。2016-10-10
Linux(CentOS)??同步服務(wù)器chrony的安裝配置和常用命令
Chrony是一款開源的網(wǎng)絡(luò)時間協(xié)議(NTP)客戶端和服務(wù)端軟件,旨在提供高精度的時間同步功能,相較于傳統(tǒng)的NTP實現(xiàn)如ntpd,Chrony提供了一些改進和優(yōu)勢,包括更快的同步速度、低延遲、低CPU占用和低內(nèi)存消耗,本文介紹Linux(CentOS)??同步服務(wù)器chrony的安裝配置和常用命令2024-06-06
Windows 10 下安裝 Apache 2.4.41的教程
這篇文章主要介紹了Windows 10 下安裝 Apache 2.4.41的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01
Linux使用head命令查看文件開頭內(nèi)容的方法詳解
在 Linux 系統(tǒng)中,head 命令是一個非常基礎(chǔ)且實用的工具,它能夠幫助我們快速查看文件的前幾行內(nèi)容,本文將深入探討 head 命令的各種用法,并通過豐富的代碼示例和圖表來展示其強大功能,需要的朋友可以參考下2026-01-01
在Linux服務(wù)器上安裝 memcached的基本操作
本文分步驟給大家詳細介紹了linux服務(wù)器上安裝memcached的操作方法,非常不錯,需要的朋友參考下吧2016-12-12

