成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

跨平臺(tái)技術(shù) QT 桌面程序活過來了

移動(dòng)開發(fā)
本文介紹的是跨平臺(tái)技術(shù) QT 桌面活過來了,主要是針對(duì)桌面操作的,讓你的桌面不在那么單調(diào),使它更加有活力,那么先來看內(nèi)容。

跨平臺(tái)技術(shù) QT 桌面活過來了是本文將要介紹的內(nèi)容,現(xiàn)在,我們將給出有關(guān) Qt 的一些跨平臺(tái)技術(shù)。利用這些技術(shù),能夠讓你的應(yīng)用程序看起來更加符合平臺(tái)的習(xí)慣。這次內(nèi)容不是一個(gè)完整的例子,而是很多小的條目,希望大家了解到這些簡(jiǎn)單 的 tip,從而可以方便的應(yīng)用到自己的程序中。很多 GUI 的問題就在于一個(gè)知道不知道。你知道,就可以很方便的實(shí)現(xiàn),不知道,恐怕就會(huì)變得很笨拙。今天的目的,不在于例子,而在于讓你“知道”。

一、顯示內(nèi)容修改

有時(shí),我們需要制作一個(gè)文本編輯器。一般文本編輯器如果內(nèi)容有所修改,會(huì)在標(biāo)題欄有一個(gè)提示,比如增加一個(gè) * 等。這種功能是 Qt 已經(jīng)為我們提供好的。例如:

跨平臺(tái)技術(shù) QT 桌面程序活過來了 

跨平臺(tái)技術(shù) QT 桌面程序活過來了

當(dāng)我們?cè)谖谋究蛑休斎胛淖謺r(shí),窗口會(huì)顯示一個(gè) *,表明內(nèi)容已經(jīng)被修改,提供用戶保存。其實(shí)這種實(shí)現(xiàn)很簡(jiǎn)單。Qt 的 setWindowTitle() 函數(shù)有一個(gè)占位符,可以預(yù)留出 * 的位置。

  1. MainWindow::MainWindow(QWidget *parent) :    
  2.     QMainWindow(parent),    
  3.     ui(new Ui::MainWindow)    
  4. {    
  5.     ui->setupUi(this);    
  6.     this->setWindowTitle("untitled [*]");    
  7.     
  8.     connect(ui->textEdit->document(), SIGNAL(modificationChanged(bool)), SLOT(setWindowModified(bool)));    
  9. }   

類似于上面的代碼。窗口標(biāo)題設(shè)置為 untitled [*],而 [*] 就是將來 * 出現(xiàn)的地方。***,我們將 QTextEdit 的內(nèi)容改變信號(hào)同 setWindowModified() 槽連接起來。只要 setWindowModified() 設(shè)置為 true,那么,這個(gè)內(nèi)容改編的 * 就會(huì)自動(dòng)為我們顯示出來。

二、讓程序提醒用戶

通常我們會(huì)有這么一種需求:我們的程序只能運(yùn)行一個(gè)實(shí)例。當(dāng)用戶已經(jīng)運(yùn)行之后,如果用戶試圖再次運(yùn)行同一個(gè)程序,則會(huì)讓程序有一個(gè)提醒功能。在 Windows 下是任務(wù)欄的窗口圖標(biāo)閃爍, Mac 下則是讓 Dash 上的圖標(biāo)跳動(dòng)起來:

跨平臺(tái)技術(shù) QT 桌面程序活過來了

這種功能是與平臺(tái)相關(guān)的,如果我們要編寫這樣的程序,不得不調(diào)用系統(tǒng) API。好在 Qt 也為我們提供了這一功能,那就是 QApplication::alert() 函數(shù)。這個(gè)函數(shù)是 QApplication 類的一個(gè) static 函數(shù),因此,我們可以在任何位置使用。這個(gè)函數(shù)的作用就是讓你的程序有這樣的一種提醒功能。

三、系統(tǒng)托盤

現(xiàn)代操作系統(tǒng)一般都會(huì)有系統(tǒng)托盤這個(gè)功能區(qū)。Windows、KDE 等等都有,Mac 系統(tǒng)雖然沒有,但是有一個(gè)很類似的功能,就是在程序右上角可以浮現(xiàn)提示。

跨平臺(tái)技術(shù) QT 桌面程序活過來了

要實(shí)現(xiàn)這個(gè)功能,Qt 為我們提供了 QSystemTrayIcon 類。具體的用法,大家可以參考文檔。不過需要提醒一點(diǎn)的是,Mac 的圖標(biāo)必須是黑白兩色的。

四、獲取存儲(chǔ)位置

如果我們想使用自己的程序保存文件,一般都要有一個(gè)默認(rèn)的存儲(chǔ)位置。一般來說,Windows 的程序往往默認(rèn)是在我的文檔里面。我們?nèi)绾潍@取這個(gè)存儲(chǔ)路徑呢?Qt 有一個(gè)很方便的 QDesktopServices 類。這個(gè)類里面有一個(gè) static 的函數(shù):

QString QDesktopServices::storageLocation(StandardLocation type) 
利用這個(gè)函數(shù),我們就可以獲得比如桌面、音樂、緩存等等的默認(rèn)路徑。這樣,我們的程序就可以和系統(tǒng)統(tǒng)一起來了。

五、調(diào)用系統(tǒng)默認(rèn)程序打開鏈接

有時(shí)候我們希望用系統(tǒng)默認(rèn)程序打開鏈接。比如,調(diào)用默認(rèn)瀏覽器打開網(wǎng)頁(yè),調(diào)用默認(rèn)郵件客戶端發(fā)送郵件。要實(shí)現(xiàn)這種功能,我們就要使用 QDesktopServices::openUrl() 這個(gè)函數(shù)。如果你要打開以 mailto 開頭的鏈接,那么就會(huì)自動(dòng)調(diào)用系統(tǒng)默認(rèn)的郵件處理程序

小結(jié):跨平臺(tái)技術(shù) QT 桌面程序活過來了的內(nèi)容介紹完了,希望本文讀你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2015-07-30 17:00:01

喬老爺

2012-07-06 15:10:39

跨平臺(tái)工具QtNokia

2020-09-23 14:33:01

Golang桌面開發(fā)GUI

2011-06-21 14:01:07

QT 界面庫(kù) Embedded

2023-08-29 09:16:53

ElectronForge

2022-09-24 10:07:14

ElectronChromiumNode.js

2011-06-30 14:16:25

QT 中文 亂碼

2010-09-25 13:47:14

Java跨平臺(tái)

2014-05-30 15:50:46

DIGIA嵌入式Qt

2009-10-14 09:41:52

托管服務(wù)

2024-02-21 09:43:50

ElectronNode.js前端

2023-06-03 00:04:43

Electron版本安全

2012-09-04 10:12:19

IBMdw

2023-04-05 22:42:08

Electronsize工具

2023-08-16 00:52:31

Electron開發(fā)工具

2023-10-11 10:03:33

Electron桌面應(yīng)用開發(fā)工具

2024-08-13 15:50:57

2022-11-30 16:38:22

Electron開源

2023-12-06 09:02:56

Electron前端

2014-12-11 11:03:20

Qt跨平臺(tái)開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区二区三区视频免费观看 | 国产精品久久久久久久久图文区 | 欧美在线不卡 | 国产精品美女久久久久aⅴ国产馆 | 日韩欧美精品在线播放 | 亚洲a视频 | 成人欧美一区二区三区黑人孕妇 | 在线免费观看黄色 | www.亚洲视频.com | 成人深夜福利 | 久久久久国产精品一区二区 | 爱爱无遮挡 | 成人午夜免费在线视频 | 免费在线观看一区二区 | 亚洲一区播放 | 青青草精品 | 蜜臀久久99精品久久久久久宅男 | 日韩三区在线 | 中文字幕不卡一区 | 新疆少妇videos高潮 | 天天操综合网站 | 国产精品18hdxxxⅹ在线 | 亚洲视频在线一区 | 中文字幕一区二区三区四区不卡 | 无人区国产成人久久三区 | 欧美精品一区二区三区在线播放 | 亚洲精品一区在线 | 亚洲一区视频在线播放 | 亚洲成人精品在线观看 | 欧美黄色片 | 国产高清精品一区 | 亚洲中午字幕 | 国产高清在线 | 中文字幕乱码一区二区三区 | 一级黄色日本片 | 91在线看视频| 亚洲一一在线 | 91精品久久久久久久久 | 日韩综合在线视频 | 国产精品五区 | 国产二区在线播放 |