亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問qt可以實現界面和邏輯代碼分離嗎?

請問qt可以實現界面和邏輯代碼分離嗎?

www說 2019-06-24 14:15:07
qt可以實現界面和邏輯代碼分離嗎
查看完整描述

4 回答

?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

想用python+qt的話那就不用說了,pyqt或者pyside都可以,當然了用pyqt的話要注意版權問題,實現界面邏輯分離的話可以用model/view結構來實現,這是qt自帶的一種方式.opengl我沒有做過,范例的話可以參考qt自帶的示例,雖然是c++寫的但是思路都是一樣的

查看完整回答
反對 回復 2019-06-29
?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

MVC英文即Model-View-Controller,即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三個層——模型層、視圖層、控制層。
視圖

  視圖(View)代表用戶交互界面,對于Web應用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應用的復雜性和規模性,界面的處理也變得具有挑戰性。一個應用可能有很多不同的視圖,MVC設計模式對于視圖的處理僅限于視圖上數據的采集和處理,以及用戶的請求,而不包括在視圖上的業務流程的處理。業務流程的處理交予模型(Model)處理。比如一個訂單的視圖只接受來自模型的數據并顯示給用戶,以及將用戶界面的輸入數據和請求傳遞給控制和模型。

模型

  模型(Model):就是業務流程/狀態的處理以及業務規則的制定。業務流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數據,并返回最終的處理結果。業務模型的設計可以說是MVC最主要的核心。目前流行的EJB模型就是一個典型的應用例子,它從應用技術實現的角度對模型做了進一步的劃分,以便充分利用現有的組件,但它不能作為應用設計模型的框架。它僅僅告訴你按這種模型設計就可以利用某些技術組件,從而減少了技術上的困難。對一個開發者來說,就可以專注于業務模型的設計。MVC設計模式告訴我們,把應用的模型按一定的規則抽取出來,抽取的層次很重要,這也是判斷開發人員是否優秀的設計依據。抽象與具體不能隔得太遠,也不能太近。MVC并沒有提供模型的設計方法,而只告訴你應該組織管理這些模型,以便于模型的重構和提高重用性。我們可以用對象編程來做比喻,MVC定義了一個頂級類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點對編程的開發人員非常重要。
業務模型還有一個很重要的模型那就是數據模型。數據模型主要指實體對象的數據 保存(持續化)。比如將一張訂單保存到數據庫,從數據庫獲取訂單。我們可以將這個模型單獨列出,所有有關數據庫的操作只限制在該模型中。

控制

  控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個分發器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請求。控制層并不做任何的數據處理。例如,用戶點擊一個連接,控制層接受請求后, 并不處理業務信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個模型可能對應多個視圖,一個視圖可能對應多個模型。
模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數據,所有其它依賴于這些數據的視圖都應反映到這些變化。因此,無論何時發生了何種數據變化,控制器都會將變化通知所有的視圖,導致顯示的更新。

 


查看完整回答
反對 回復 2019-06-29
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

通過manager回調把網絡請求的結果回調給controller,在manager里面處理其他業務邏輯,數據持久化之類的,也可以根據網絡請求到的數據來做業務邏輯處理。這樣controller就不用再去關心業務邏輯,只需要拿到數據刷界面就行了。

查看完整回答
反對 回復 2019-06-29
?
肥皂起泡泡

TA貢獻1829條經驗 獲得超6個贊

這個是通過三層結構來實現的。
第一層:controller,本層主要負責頁面信息傳遞;
第二層:service,本層主要接收控制層參數,進行業務方面的處理,之后訪問dao數據層。
第三層:dao,本層主要接收業務層內容,之后進行數據的存儲和變更、刪除操作。
這樣就可以實現業務層和數據層的分離了。

查看完整回答
反對 回復 2019-06-29
  • 4 回答
  • 0 關注
  • 1365 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號