【Qt】QProcess and QProgressBar


【目的】

  1. 通過 QProcess 跑一個外部命令,將執行進度放在 QProgressBar 上。 最後執行結果放在QTextEdit。
  2. 例如下面命令
    $ tracepath -n www.google.com

【程式】

  1. 研究中。

【替代方案】

  1. 先用QProcess 跑一個外部命令,若外部程式無法回傳進度。先設一個 timer,程式在執行的時候,將主視窗先disable。並顯示一個類似 1-0(http://ajaxload.info/) 的圖型。並顯示執行時間(elapsed time/Expired) 每秒去檢查是否作完,作完提早結束。若 timer 還未作完,殺掉被喚起的程式並回傳失敗。
  2. 若是寫入/讀出檔案的話,按照讀取/寫入的 raw-date 比對整個檔案大小就知道進行進度百分比。就可以傳到 QProgressBar 。
  3. 採用 QSplashScreen。這是用在顯示程式時的載入進度。

【參考】

【CrystalDMI】讀取SMBIOS資料


【環境】

  1. Windows Vista

【目的】

  1. 利用 CrystalDMI (綠色版)來尋找 smbios 資料。
  2. 原理就是從0xF0000-0xFFFFF找關鍵字“_SM_”,接著之後作處理。

【步驟】

  1. 下載 CrystalDMI http://crystalmark.info/software/index-e.html
  2. 啟動 CrystalDMI.exe
  3. 基本資料
    image
  4. Type 00
    image
  5. Type 01
    image 
  6. 其他 Type 請自行參考。

【其他方式】

  1. DOS: 利用 debug.exe
    1. 使用 s 來搜尋(search) _SM_ 開頭字串。
    2. 利用 d 來顯示(dump) smbios 資料。
    3. 結果
      image
       
    4. 參考 Debug.com 查看記憶體資料的方式 
      http://biosengineer.blogspot.com/2007/11/debugcom.html
  2. Windows: 利用 rw-everything
  3. Linux
    1. dmidecode 命令。
    2. 基本上也是去讀 /dev/mem,例如透過
      $ hexdump -C /dev/mem | grep "_SM_"
      image

【參考】

【Hardinfo】Dump Hardware information


Hardinfo http://hardinfo.berlios.de/Screenshots
可在Ubuntu底下顯示硬體資訊。

image

【Review】

  • Computer
  • Devices
    • PCI
      看起來是以 popen 得到 lspci 的資料。
    • USB
      裝置無法被列舉。 看來跟目前的usbview(http://www.kroah.com/linux-usb/)有樣的問題。
    • DMI(SMBIOS)
      不確定這邊所為的SMI 是不是列出 dmi decode 內容。
      基本上只要在 /dev/mem 找出 _SM_ 並解析內容就能得到 dmi type 0/1 的資料。
    • SMI Call
      如何在User-space 下smi call 還要再研究。

【Imgburn】燒錄工具


Imgburn http://www.imgburn.com/

【目的】

  • 在Windows底下,將光碟備份為ISO檔。

【將光碟備份成ISO】

  1. 首先下載並安裝 Imgburn。之後打開 Imgburn。
  2. 這軟體有許多功能,我們先選 Create image file from disc
    image
  3. 接著會進入下面視窗,確定上面的資訊(Source/Destination)都是正確的之後一樣按下面紅色部分按鈕。
     image
  4. 接著會開始將DVD/CD轉成 ISO 格式。
    image
  5. 以下步驟就省略。

【將ISO燒成光碟】

  1. 一樣在對話框先選 Write image file to disc。
    image
  2. 接著點選資料夾圖示,指定要燒錄的ISO檔。image
  3. 確定上面的資訊(Source/Destination)都是正確的之後一樣按下面紅色部分按鈕。image
  4. 接著會開始將 ISO 檔案燒錄成DVD/CD。
    image
  5. 以下步驟就省略。

【Qt】UI 文件


【目的】

  • 簡單了解 Qt Designer 所生成的 ui 文件。

【屬性】
ui文件為 xml 格式。擷取一些所會使用物件的基本屬性與內容範例。大致上應該直接就可以看得懂。

  • QMainWindow/QgridLayoutWidget
    • x
    • y
    • width
    • height
  • Qmenu
    • string: &File
    • addaction: action_Open
  • QToolBar
    • addaction: action_Open
  • QgridLayout
    • column(水平)
    • row(垂直)
    • colspan(水平延展)
    • rowspan(垂直延展)
  • connection
    • sender: pushButton
    • signal:clicked
    • receiver:MainWindow
    • slot:close()/slot1()(自行定義slot)

如果要查看 ui 文件產生的 程式碼,直接使用 表單| 檢視程式碼 即可。
image image

網路的教學文件很少提及 Qt Designer 的使用,其實我覺得如果沒有執行速度考量的話,可以先用 Qt Designer 很快的把 UI 產生出來。當然若執行速度/CodeSize上的考量,可能還是要自己寫/Review程式了。

【參考】

  1. Qt Designer's UI File Format
    http://doc.trolltech.com/4.6/designer-ui-file-format.html
 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com