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

分析Qt Symbian手機應用移植注意事項

移動開發
在QStackedWidget/QStackedLayout中的當前顯示視圖發生變化時,會發出一個currentChanged(int)的信號,開發者可以利用這個信號去吃執行相應的操作.詳情以下內容。

本文介紹的是關于分析Qt Symbian手機應用移植注意事項,做過移植的朋友們應該了解,在移植過程中,出現很多的問題,那么本文將會幫你分析問題的原因。

 在Linux和Windows上做過開發的朋友,可能會發現在把應用移植手機上的時候,不是那么符合手機上的用戶使用習慣。而且很多培訓教材在講授Qt 的時候也是針對桌面應用的,對于初學者如果依照培訓材料上的例子直接編譯成手機版本,也會碰到這個問題。在此我把幾個經常碰到的問題整理一下。

QWidget 還是QMainWindow

QMainWindow和QWidget的區別是QMainWindow包含工具欄、狀態欄以及 菜單等,對于手機應用來說可見的最大區別是菜單,也就是左下角的那個”Options”選項。

分析Qt Symbian手機應用移植注意事項

所以,如果你的應用較復雜,需要用到菜單處理的時候請使用QMainWindow做為你應用的主窗 口。使用QMainWindow的時候,初學者往往會碰到另一個問題,就是在往QMainWindow里增加新的控件,并使用QLayout來管理這些控 件的時候,經常不能成功。原因是QMainWindow有它自己的布局管理器,如果需要在QMainWindow中增加新控件和布局時,可以通過 QMainWindow::setCentralWidge(QWidget *)給QMainWindow的主界面設定一個QWidget *cw,然后在cw中定義自己的布局和控件。

定制Options菜單

可以通過QMainWindow::newMenuBar()函數獲得主窗口的菜單欄(如果沒有菜單欄,則創建一個并返回 指針),為菜單欄增加子項可以用addMenu()或者addAction().如果沒有子菜單項推薦直接使用addAction,因為如果QMenu無 法直接對外部事件做出響應。

分析Qt Symbian手機應用移植注意事項

定制系統softkey內容

在一個應用有多個視圖的時候,如果系統的softkey(就是屏幕下邊的軟鍵)總是顯示”Options”和”Exit”則無法應用需求,比如離開主界面后, 需要將”Exit“變成”Back”。通過將一個QACtion的setSoftKeyRole()函數可以將QAction綁定到softkey上,同 時QAction的文本/text()也會顯示到softkey上。當前softkey的上下文和當前具有輸入焦點的控件相關。

分析Qt Symbian手機應用移植注意事項

如果需要給定制的softkey增加子選項,則可以通過QAction::setMenu()來實 現。

分析Qt Symbian手機應用移植注意事項

窗口最大化

大部分的”Hello,World”例子里有使用了show()函數來讓窗口顯示,但是在手機系統上,我推薦使用showMaximized(),也就是最大 化。

這樣做首先保證了窗體被顯示出來的時候,屏幕上的 背景部分還有其它應用露出來,容易導致誤操作

分析Qt Symbian手機應用移植注意事項

此外,如果使用了showMaximized(),在手機從橫向放置變成豎向放置時(或反之),手 機屏幕變化時,應用窗口也會自動進行調整。而如果使用的是show()函數,在手機水平位置發生變化時,應用窗口還是保留原來的大小,有可能導致窗口超出 屏幕,或在屏幕上留下沒有覆蓋的區域。

分析Qt Symbian手機應用移植注意事項

多窗口應用開發

復雜的應用會有多 個視圖,如果在桌面系統上開發我們可以選擇在一個QMainWindow里通過MDI管理多個子窗口,但是對于手機屏幕空間相對局限的情況下并不是很適 合,手機應用需要在每個視圖都保持最大的界面空間,通過某種方法實現不同視圖直接的切換是比較好的方法。

QSatckedWidget和 QStackedLayout

分析Qt Symbian手機應用移植注意事項 

分析Qt Symbian手機應用移植注意事項

要管理多個視圖的切 換,Qt提供了兩個方便的類。QStackedWidget和QSatckedLayout,區別在于QSatckedWidet繼承于QWidget是 可視控件,而QStackedLayout繼承于QLayout,僅僅負責布局。

分析Qt Symbian手機應用移植注意事項

每個被加入到QStackedWidget或QStackedLayout的控件視圖都會獲得一個 索引號(index),QStackedWidget或QStackedLayout可以通過setCurrentIndex來指定當前被顯示的是哪一個 控件視圖。

分析Qt Symbian手機應用移植注意事項

在QStackedWidget/QStackedLayout中的當前顯示視圖發生變化時,會發 出一個currentChanged(int)的信號,開發者可以利用這個信號去吃執行相應的操作,比如更新當前的上下文菜單或softkey(前面小節 有介紹),以及根據當前視圖更改窗口標題等。

分析Qt Symbian手機應用移植注意事項

小結:關于Qt Symbian手機應用移植注意事項的內容講完了,以上也是我們常見的問題,希望本文對你有引導性的幫助。

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

2009-12-21 09:53:45

連接Oracle

2011-07-04 17:55:59

Qt SDK Windows

2020-10-20 14:05:48

用戶需求分析IT

2015-09-07 09:27:01

分析應用場景

2011-06-29 09:56:29

QT UI 動態加載

2011-08-03 11:40:49

布線系統

2011-06-15 13:39:55

Qt Creator

2009-12-15 17:47:17

VSIP

2014-01-13 10:50:28

虛擬化存儲

2011-05-26 11:22:04

SEO

2011-06-16 15:17:16

2011-06-28 16:05:12

Qt widget 圖片

2011-05-11 17:09:03

jsp

2021-09-28 08:59:40

UPS蓄電池電源

2010-02-05 14:13:17

Android平臺

2009-12-16 15:41:10

Ruby on Rai

2011-04-11 16:23:57

2010-05-07 10:19:48

Oracle 注意事項

2010-07-29 10:27:30

Flex鍵盤事件

2014-07-01 12:49:06

Android Stu安裝
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产一区二区三区 | 毛片a级毛片免费播放100 | 国产成人jvid在线播放 | 国产一区二区三区在线视频 | 亚洲视频免费观看 | 91精品久久久久久久久久入口 | 精品视频久久久久久 | av看片| 成人欧美一区二区三区在线播放 | 久久三区 | 久久久影院 | 日韩字幕一区 | 欧美一级片 | 久久精品97 | 国产欧美精品区一区二区三区 | 久久久久国产 | 亚洲欧美精品久久 | 久久乐国产精品 | 福利精品| 91精品免费视频 | 黄色成人av | 日韩精品在线网站 | 婷婷福利视频导航 | 日韩在线小视频 | 午夜激情国产 | 97日日碰人人模人人澡分享吧 | 欧美黄色片 | 在线观看国产wwwa级羞羞视频 | 亚洲h在线观看 | 成人黄色在线观看 | 久久另类| 亚洲免费在线播放 | 三级视频久久 | 久久久久久高潮国产精品视 | 999精品视频 | 精品欧美一区二区三区久久久 | 色婷婷综合成人av | 亚洲天堂一区 | 欧美一区二区三区国产精品 | 日本人爽p大片免费看 | 成人区精品一区二区婷婷 |