QT mainwindow四件套

最近在學習QT。下面總結一下mainwindow的設置步驟。

使用的平臺為vs2013+qt5.3.2+qt-vs-addin1.2.3

1)安裝軟件

首先安裝vs2013,這個不多介紹。

然后安裝qt5.3.2和addin1.2.3。并設置相關環境。詳細見http://tieba.baidu.com/p/3451630520?pid=61264366864#61264366864。

2)建立qt工程項目

具體省略。主要介紹相關代碼。

主要涉及4個函數

CreateActions();
CreateMenus();
CreateToolBars();
CreateStatusBar();

?

具體實現代碼例:

//定義動作ACtion

void MainWindow::CreateActions()
{
action_new_ = new QAction(QIcon(":/MainWindow/Resources/images/new.png"), tr("&New"), this);
action_new_->setShortcut(QKeySequence::New);
action_new_->setStatusTip(tr("Create a new file"));

action_open_ = new QAction(QIcon(":/MainWindow/Resources/images/open.png"), tr("&Open..."), this);
action_open_->setShortcuts(QKeySequence::Open);
action_open_->setStatusTip(tr("Open an existing file"));
connect(action_open_, SIGNAL(triggered()), imagewidget_, SLOT(Open()));

}

代碼解釋:QIcon(":/MainWindow/Resources/images/new.png")是讀取圖片的。注意雙引號中的寫法。?tr("&New")注意不要忘記&。setShortcut(QKeySequence::New)是設置快捷鍵,括號中的表示使用windows默認的快捷鍵。setStatusTip(tr("Create a new file"))表示狀態欄顯示的內容。

?

//定義菜單欄Menu

void MainWindow::CreateMenus()
{
menu_file_ = menuBar()->addMenu(tr("&File"));//創建了一個菜單叫File
menu_file_->setStatusTip(tr("File menu"));//狀態欄顯示File menu

//下面4個為菜單File中包含的Action
menu_file_->addAction(action_new_);
menu_file_->addAction(action_open_);
menu_file_->addAction(action_save_);
menu_file_->addAction(action_saveas_);

}

?

//定義工具欄ToolBar

void MainWindow::CreateToolBars()
{
toolbar_file_ = addToolBar(tr("File"));//創建了一個工具欄,名稱為File

//下面3個為工具欄File包含的ACtion
toolbar_file_->addAction(action_new_);
toolbar_file_->addAction(action_open_);
toolbar_file_->addAction(action_save_);

}

?

//激活狀態欄

void MainWindow::CreateStatusBar()
{
statusBar()->showMessage(tr("Ready"));
}

3)注意事項

1、在.h文件中聲明用到的變量自不用說了。

2、工具欄中添加的各種圖片表示應當在*.qrc文件中設置,不然沒法顯示。

3、想不起來了,下次想起來在寫吧。

轉載于:https://www.cnblogs.com/hnuhui/p/4403530.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/376093.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/376093.shtml
英文地址,請注明出處:http://en.pswp.cn/news/376093.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

go mysql recover_golang用panic和recover做業務流程中斷的嘗試

隨著使用golang越來越頻繁,發現golang有一個地方非常不方便,就是在錯誤處理方面。先來看看golang中通常的錯誤處理方法:通常的error處理package mainimport ("errors""fmt")func a() (err error) {err errors.New("…

ROC曲線【轉】

ROC曲線(Receiver Operating Characteeristic Curve)是顯示Classification模型真正率和假正率之間折中的一種圖形化方法 解讀ROC圖的一些概念定義: 真正(True Positive , TP)被模型預測為正的正樣本 假負(F…

更改密碼 sp_password

sp_password添加或更改 Microsoft SQL Server? 登錄的密碼。語法sp_password[ [ old ] old_password , ]{ [new ] new_password }[, [ loginame ] login ]參數[old] old_password是舊密碼。old_password為 sysname 類型,其默認值為 NULL。[new] new_password是新…

java eclipse oxygen_Eclipse Java Oxygen配置Tomcat

eclipse oxygen 配置tomcat 9.0第一步 裝上eclipse的EE插件因為我以前學習java都是用eclipse oxygen的se版本,所以并不支持j2EE,所以第一步,就是要先把它升級為EE版本。有兩種方法供我們選擇。重新安裝eclipse的EE版本。安裝eclipse的EE插件。…

五大常用算法之二:動態規劃算法

一、基本概念 動態規劃過程是:每次決策依賴于當前狀態,又隨即引起狀態的轉移。一個決策序列就是在變化的狀態中產生出來的,所以,這種多階段最優化決策解決問題的過程就稱為動態規劃。 二、基本思想與策略 基本思想與分治法類似&am…

java 數組處理_JAVA操作數組

使用 Arrays 類操作 Java 中的數組Arrays 類是 Java 中提供的一個工具類,在 java.util 包中。該類中包含了一些方法用來直接操作數組,比如可直接實現數組的排序、搜索等Arrays 中常用的方法:1、 排序語法: Arrays.sort(數組名);可…

VB調用VC DLL函數

—————————————————————————VC部分—————————————————————————————————————聲明 ******************************************************************************************************** extern "C&q…

java拆裝_JAVA線性表拆解

線性表(List)是一種線性結構。其特點是數據元素直線的線性關系。1.線性表抽象類定義public abstract class AbsList implements Iterable,List{protected int length;abstract public T get(int i); //返回第i(i≥0)個元素abstract public boolean set(int i, T x);…

display:none;與visibility:hidden;的區別

display:none;不會占用任何空間 visibility:hidden;會占用隱藏前的空間大小轉載于:https://www.cnblogs.com/yaser/p/4414825.html

(轉)起點

要想做Java程序員,并不需要必須是計算機專業出身。很多人不是計算機專業卻也成為計算機高手;有的高中生都已經小有所成,可稱得上是合格程序員了;甚至很多學校初中生都能寫出漂亮的應用程序。所以,Java程序員的起點要求…

以太網 數據包速率計算方法

以太網 數據包速率計算方法 我們知道1個千兆端口的線速包轉發率是1.4881MPPS, 百兆端口的線速包轉發率是0.14881MPPS,這是國際標準,但是如何得來的呢? 具體的數據包在傳輸過程中會在每個包的前面加上64個(前導符)pream…

linux 多個java_linux 同時出現兩個java進程,新手~ 請詳細說明,這個是怎么回事。 我就裝了一個jdk...

首先Tomcat是用java開發的,所以它的開始和停止的命令都是用java來執行的。你執行一下ps -ef |grep tomcat如果輸出:sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.managerorg.apache.juli.ClassLoaderLogManager -Djava.en…

ISP與IAP的區別

轉: ISP(In-System Programming)在系統可編程,指電路板上的空白器件可以編程寫入最終用戶代碼, 而不需要從電路板上取下器件,已經編程的器件也可以用ISP方式擦除或再編程。IAP(In-Application P…

【轉】手把手實現企業級開源監控軟件cacti+nagios+ntop整合(圖解)

http://freeze.blog.51cto.com/1846439/386828轉載于:https://www.cnblogs.com/nhlinkin/p/3595532.html

【BZOJ】【1041】【HAOI2008】圓周上的點

數學 orz hzwer 完全不會做…… 很糾結啊,如果將來再遇到這種題,還是很難下手啊…… 引用題解: 【分析】: 樣例圖示: 首先,最暴力的算法顯而易見:枚舉x軸上的每個點,帶入圓的方程,檢…

php authcode java_PHP(authcode)加密解密

//************************加密解密*************************//** $string: 明文 或 密文* $operation:DECODE表示解密,其它表示加密* $key: 密匙* $expiry:密文有效期* */function authcode($string, $operation DECODE, $key…

nginx環境下搭建nagios 3.5.0,及配置pnp4nagios畫圖

本文基于《LNMP最新源碼安裝腳本》,Nagios依賴PHP環境和perl環境,由于Nginx不支持Perl的CGI,需先來搭建Perl環境,Nagios原理介紹略。一、下載最新穩定源碼包和Perl腳本wget http://www.cpan.org/modules/by-module/FCGI/FCGI-0.74.tar.gzwget…

python indexerror怎么辦_Python IndexError:使用列表作為可迭代對象時...

這是代碼:import math as mprimeproduct 5397346292805549782720214077673687806275517530364350655459511599582614290primes [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127…

【Android】配置APK開發環境

【Android】配置APK開發環境1.安裝java jdk去oracle公司下載jdk-7u15-windows-i586.exehttp://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html---C:\Documents and Settings\XXXX>java -versionjava version "1.7.0_15"Ja…