2016-01-28 62 views
1

我正在爲GMAT做準備,因此準備了一個問題庫。 gmatclub.com有很多問題,我可以寫一個python腳本來獲得問題和相應的答案。在獲取數據的同時,我保留了HTML格式,因爲有些問題會有強調和粗體。關於如何設計GUI來呈現HTML格式數據的建議

我想開發應閱讀HTML數據(我會用Excel或Access數據庫作爲數據源)的桌面應用程序。不過,我不確定如何設計將呈現HTML格式數據的GUI。任何建議,如果我可以使用Excel或訪問用戶窗體來顯示HTML格式的數據。否則,如果我必須使用瀏覽器,我可以在沒有服務器端腳本的情況下實現邏輯,即可以使用Javascript訪問數據庫(IE允許使用ActiveXobject,但它不適用於Chrome和Firefox,這是MS站點所說的)。不使用服務器端腳本的原因是,我可以與非技術人員共享源代碼,並且無需安裝任何東西即可使用它。

+0

在桌面應用程序中呈現HTML是可能的,但HTML非常複雜,並且您不想自己編寫引擎。你可能會考慮使用[電子](http://electron.atom.io/),它使您可以使用Web技術的桌面應用程序。如果我沒有弄錯,Electron使用WebKit渲染引擎,所以你的HTML基本上就像在Chrome或Safari中運行一樣。感謝提醒有關JSON的 –

回答

1

我會建議做一個非常簡單的網頁,所有存儲在一個文件中(沒有服務器端)。如果您可以使用Python代碼獲取問題和答案的所有HTML,請使用相同的代碼將Q & A寫入到一個HTML文件中,該文件看起來像我在下面的內容(注意,您應該在哪裏寫註釋Q & A)。

我會推薦將其餘的html文件(即Q &節之外的部分)硬編碼到您的python代碼中,以便它可以一舉打印整個文件。然後,您可以就在您選擇的瀏覽器中打開此:

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
<script type="text/javascript"> 

$(document).ready(function(){ 

var json = [ 
//Use Python to write in your Q&A's here 
{ 
"question":"Do you want to take the GMAT", 
"answer":"<b>Yes</b>, I do" 
}, 
{ 
"question":"What is LLC?", 
"answer":"Limited Liability <i>Company</i>" 
}, 
//End Q&A section 
]; 

function reset() 
    { 
    $('#next').hide(); 
    $('#showAns').show(); 
    $('#a').hide(); 
    ask(); 
    } 

function showAnswer() 
    { 
    $('#next').show(); 
    $('#showAns').hide(); 
    $('#a').show(); 
    } 

reset(); 


$('#next').click(function(){reset();}); 
$('#showAns').click(function(){showAnswer()}); 



function ask() 
    { 
    var randNum = Math.floor(Math.random() * json.length); 
    $('#q').html(json[randNum].question); 
    $('#a').html(json[randNum].answer); 
    } 


}); 
</script> 
</head> 
<body> 
<div id="q"></div> 
<div id="a"></div> 
<button id="showAns">Show Answer!</button> 
<br> 
<button id="next">Next Question</button> 
</body> 
</html> 

注意

1)他們需要互聯網連接才能使用這個,因爲我讓谷歌的jQuery的調用(所以它在技術上不是一頁),但你可以下載jQuery並在本地調用它。

2)這聽起來像你只是一次獲得的問題列表,所以它實際上可能更快它們以Excel格式成JSON格式,然後將其粘貼在代碼中。

+0

。我同意,使用JSON會更容易和更快捷。 –