程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Qt學習總結-ui篇(二),qt學習總結-ui

Qt學習總結-ui篇(二),qt學習總結-ui

編輯:C++入門知識

Qt學習總結-ui篇(二),qt學習總結-ui


qccs定義圓角

 

border-radius:10px;

如果想給特定位置定義圓角,如:

左上角:border-left-top-radius:10px;

右下角色:border-right-bottom-rasius:10px;

 

半透明效果

 

只需要在css中使用rgba(100,100,100,40)這種形式來表示顏色即可。

 

為可執行文件添加圖標

 

1.新建文件:finename.rc 文件名無所謂,只要後綴為rc就可以。

2.編輯新建的文件,輸入以下內容:

IDI_ICON1 ICON DISCARDABLE "icofire.ico"

"icofire.ico"為圖標文件路徑,注意路徑是相對於本資源文件的。

3.重新編譯後,即可看到可執行文件出現了圖標。

 

加載字體文件 ttf

 

在mian函數中加入以下代碼:

 1 int main(int argc, char *argv[])
 2 {
 3     QApplication a(argc, argv);
 4 
 5     //從資源文件中加入字體文件
 6     int d=QFontDatabase::addApplicationFont("://DS-DIGIB.TTF");
 7 
 8     //獲取字體名稱
 9     QStringList list= QFontDatabase::applicationFontFamilies(d);
10     foreach (QString f, list) {
11         qDebug()<<"font family:"<<f;
12     }13     ...   14 }

打印結果:

1 font family: "DS-Digital"

從打印結果中可以知道加載的字體名稱為:DS-Digital

使用字體:

1 QFont f;
2 f.setFamily("DS-Digital");
3 f.setPointSize(25);

 


Qt中怎使用Ui文件

資源簡介第一步, 制作ui文件。 首先應該用Qt Designer繪制一個自己的界面,並存為myform.ui(這裡的myform可以用自己喜歡的名字代替)。在制作自己的界面文件時要注意以下幾個要點:1、要記住ui文件的名字,因為uic生成的代碼會存在ui_myform.h裡2、要記住主窗體的object name, 因為ui文件提供的類名將以這個form的名字來命名3、要特別注意你的form選擇的基類要和你代碼中的窗體類兼容4、要記得給每個後面需要訪問到的控件起一個有意義並且好記的object name, 因為ui文件提供的控件將以這些object name來命名清楚了以上幾點,在代碼中使用你的ui文件就會變得非常簡單。第二步,將ui文件加入工程 這一步最簡單,只需要修改pro文件,加入FORMS+=myform.uiqmake -project命令也可以識別後綴名為ui的文件,並將之加入工程。第三步,在代碼中引用ui文件 官方介紹的使用ui文件的方法有三種,一個是直接引用,二是單繼承,三是多繼承。 第一種方法其實很不實用,大家去看一下文檔中的例子就可以了;第二種和第三種沒有本質的差別,可以並作一類,這裡做重點介紹。ui文件最終會被翻譯成標准的C++代碼,並存入一個.h文件中,這個過程在調用make之後才進行,所以初始情況下你是看不到這個ui_myform.h文件的,只有經過了make過程該頭文件才生成。不過沒關系,沒有這個文件我們照樣能寫出正確的代碼。單繼承方式簡單來說就是在代碼中首先要自定義一個子類(後文稱為MyForm),該類要從form對應的窗體類(或其兼容的子類)派生;並用ui生成的類定義一個類裡的成員變量(後文成文myui)。這樣在MyForm的構造函數中可以直接調用myui和myui中的變量和函數,使用起來很方便。 舉例說明, 比如這裡有一個ui文件叫myform.ui, ui文件裡定義的窗體名字為BigWidget,上面擺放了一個單行編輯控件叫lineeditName://myform.h #include “ui_myform.h” class MyForm: public QWidget { Q_OBJECTpublic:MyForm(QWidget*parent) { myui.setupUi(this);}private: Ui::BigWidget myui; private: void my_function(); };上面這段簡單的類的聲明是前文所述前三點要點的最佳例證,請對照要點的文字描述和具體的代碼體會其中的含義。這裡還有一點比較有意思的地方,就是ui文件提供的類被包含在了名為Ui的name space裡,這樣做的目的是將ui文件的命名空間與用戶的代碼分離,避免兩者出現命名沖突的情況。相應的,我們寫代碼的時候也要注意在使用ui文件中的類時要用“Ui::”的方式進行引用。再來看cpp文件//myform.cpp #include <QMessageBox>#include “myform.h” void my_function(void) { QMessageBox::information(this, “Name”, myui.lineeditName->text());}這裡隨便寫了一個函數,為了說明如何在窗體類裡調用ui文件中定義的控件。這段代碼非常簡單,就不多作說明了。有了單繼承的基礎,學習多繼承是小菜一碟。來段代碼看一下就明白了。//my......余下全文>>
 

怎用qt制作好看的ui

不知道你的如何是什麼意思...有具體需求沒?
挽尊先~~~
需要制作好看的ui嘛,一有設計二有實現。QT基礎要扎實,這個不提。
//基礎------------------------------------------------------------------------------------
審美觀。就是你得能設計出一個你覺得好看且大家都覺得好看的界面~不然技術再牛X,功能實現得怎麼怎麼好,大家覺得丑就白搭。
熟悉ui裡各大控件。可以將Qt自帶的所有你覺得有用的控件屬性摸熟。這點很重要,經濟基礎決定上層建築,有控件才能實現。打個比方,之前要搭一個含有幾排QLineEdit的界面,純手寫代碼實在是太麻煩了,然後偶然發現可以把控件塞到QTableWidget,表頭一藏,邊框一去,效果一樣,還方便~~有時候,人家自帶的屬性比你手寫更加完美~
//需要掌握的一些-------------------------------------------------------------------------
自繪標題欄。再好看的Dialog依然是系統的,可以看看你用的殺毒軟件,那種界面也可以用QT搭喲,最火的應該是論壇裡的Qt實現360界面,可以參考怎麼制作漂亮的標題欄。
StyleSheet Qt樣式表。再好看的界面沒有亮眼的顏色和響應搭配怎麼行?樣式表裡繁雜的屬性,多種調色會令你大開眼界的!(我也只摸了個皮毛,功能應該不止這些耶)
重寫界面類。有些界面控件你想用,但是還是想小小改一下咋辦,提升一個繼承自該控件的類,把你需要的寫上去~~

我暫時想到的就這些,家裡的鍵盤好破,打的手酸T T

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved