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

跨平臺技術 QT 桌面程序活過來了

移動開發
本文介紹的是跨平臺技術 QT 桌面活過來了,主要是針對桌面操作的,讓你的桌面不在那么單調,使它更加有活力,那么先來看內容。

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

一、顯示內容修改

有時,我們需要制作一個文本編輯器。一般文本編輯器如果內容有所修改,會在標題欄有一個提示,比如增加一個 * 等。這種功能是 Qt 已經為我們提供好的。例如:

跨平臺技術 QT 桌面程序活過來了 

跨平臺技術 QT 桌面程序活過來了

當我們在文本框中輸入文字時,窗口會顯示一個 *,表明內容已經被修改,提供用戶保存。其實這種實現很簡單。Qt 的 setWindowTitle() 函數有一個占位符,可以預留出 * 的位置。

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

類似于上面的代碼。窗口標題設置為 untitled [*],而 [*] 就是將來 * 出現的地方。***,我們將 QTextEdit 的內容改變信號同 setWindowModified() 槽連接起來。只要 setWindowModified() 設置為 true,那么,這個內容改編的 * 就會自動為我們顯示出來。

二、讓程序提醒用戶

通常我們會有這么一種需求:我們的程序只能運行一個實例。當用戶已經運行之后,如果用戶試圖再次運行同一個程序,則會讓程序有一個提醒功能。在 Windows 下是任務欄的窗口圖標閃爍, Mac 下則是讓 Dash 上的圖標跳動起來:

跨平臺技術 QT 桌面程序活過來了

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

三、系統托盤

現代操作系統一般都會有系統托盤這個功能區。Windows、KDE 等等都有,Mac 系統雖然沒有,但是有一個很類似的功能,就是在程序右上角可以浮現提示。

跨平臺技術 QT 桌面程序活過來了

要實現這個功能,Qt 為我們提供了 QSystemTrayIcon 類。具體的用法,大家可以參考文檔。不過需要提醒一點的是,Mac 的圖標必須是黑白兩色的。

四、獲取存儲位置

如果我們想使用自己的程序保存文件,一般都要有一個默認的存儲位置。一般來說,Windows 的程序往往默認是在我的文檔里面。我們如何獲取這個存儲路徑呢?Qt 有一個很方便的 QDesktopServices 類。這個類里面有一個 static 的函數:

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

五、調用系統默認程序打開鏈接

有時候我們希望用系統默認程序打開鏈接。比如,調用默認瀏覽器打開網頁,調用默認郵件客戶端發送郵件。要實現這種功能,我們就要使用 QDesktopServices::openUrl() 這個函數。如果你要打開以 mailto 開頭的鏈接,那么就會自動調用系統默認的郵件處理程序

小結:跨平臺技術 QT 桌面程序活過來了的內容介紹完了,希望本文讀你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2015-07-30 17:00:01

喬老爺

2012-07-06 15:10:39

跨平臺工具QtNokia

2020-09-23 14:33:01

Golang桌面開發GUI

2011-06-21 14:01:07

QT 界面庫 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跨平臺

2014-05-30 15:50:46

DIGIA嵌入式Qt

2009-10-14 09:41:52

托管服務

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開發工具

2023-12-06 09:02:56

Electron前端

2023-10-11 10:03:33

Electron桌面應用開發工具

2024-08-13 15:50:57

2022-11-30 16:38:22

Electron開源

2014-12-11 11:03:20

Qt跨平臺開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲 成人 在线 | 欧美a级成人淫片免费看 | 久久久久久国产精品免费免费男同 | 激情小视频 | 欧美精品在线一区 | 国产精品久久久久久影院8一贰佰 | 欧美一级淫片免费视频黄 | 亚洲欧洲精品一区 | 波多野结衣一区二区三区在线观看 | 天堂三级 | 日本精品久久 | 日本一区二区三区四区 | 国产精品久久亚洲7777 | 久久久国产一区二区三区四区小说 | 国产xxxx搡xxxxx搡麻豆 | 亚洲国产精品99久久久久久久久 | 欧美成人第一页 | 中文字幕日韩欧美一区二区三区 | 欧美日韩综合精品 | 97精品超碰一区二区三区 | 在线视频日韩 | 国产av毛片 | 亚洲综合成人网 | 国产精品综合网 | 天天插天天操 | 欧美激情精品久久久久久 | 亚洲欧美综合精品久久成人 | 毛片免费观看 | 国产在线看片 | 一a一片一级一片啪啪 | 伦理午夜电影免费观看 | 亚洲天堂中文字幕 | 久久久99国产精品免费 | 日本人爽p大片免费看 | 国产一区二区视频免费在线观看 | 尹人av| 日韩精品视频在线播放 | 久久精品高清视频 | 国产精品片 | 国产精品久久久久国产a级 欧美日韩国产免费 | 日韩国产中文字幕 |