Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1697026
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: WINDOWS

2011-05-13 10:04:38

QPushButton提供了一個常用的按鈕。要使用的話,必須加入下列指令:

#include

繼承自;且被 繼承。

按鈕可能是在GUI中最常使用到的widget,按下按鈕控制電腦來執行某些動作或回答某些問題,典型的按鈕包括OK、Apply、 Cancel、Close、Yes、No以及Help。按鈕通常是矩形且會顯示一個文字標籤來描述這個按鈕會做的動作,此外,在文字標籤前加 上"&"符號則指定了一個快捷鍵(shortcut)。範例如下:

QPushButton *button = new QPushButton("&Download");

上例中,則快捷鍵為 Alt+D。


程式範例 #include #include #include #include #include   int main(int argc, char *argv[]) { QApplication app(argc, argv);   QWidget *window = new QWidget(); window->setWindowTitle("QPushButton"); window->resize(320,240);   QPushButton *btn1 = new QPushButton("Normal Button");   QPushButton *btn2 = new QPushButton("Toggle Button"); btn2->setCheckable(TRUE); btn2->setChecked(TRUE);   QPushButton *btn3 = new QPushButton("Flat Button"); btn3->setFlat(TRUE);   QPushButton *btn4 = new QPushButton("Popup Button"); QMenu *menu = new QMenu; menu->addAction("Item 1"); menu->addAction("Item 2"); btn4->setMenu(menu);   QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(btn1); layout->addWidget(btn2); layout->addWidget(btn3); layout->addWidget(btn4); layout->addStretch(1);   window->setLayout(layout); window->show();   return app.exec(); } 說明 QPushButton *btn1 = new QPushButton("Normal Button");

首先第一個是最基本按鈕,其上的文字顯示為Normal Button。


QPushButton *btn2 = new QPushButton("Toggle Button"); btn2->setCheckable(TRUE); btn2->setChecked(TRUE);

這是第二個建立的按鈕,名為Toggle Button。此種按鈕的特色是按下去之後不會像一斑原始的按鈕那樣恢復原狀。要如何達到這樣的效果呢?就是利用下面兩個function,利用 指定按鈕bun2是按下就不會恢復原狀,預設是FALSE;而 則是設定按鈕一開始是check(按下)。


QPushButton *btn3 = new QPushButton("Flat Button"); btn3->setFlat(TRUE);

而範例第三個按鈕則為邊緣沒有浮起的平坦按鈕,利用 即可達成,預設是FALSE。


QPushButton *btn4 = new QPushButton("Popup Button"); QMenu *menu = new QMenu; menu->addAction("Item 1"); menu->addAction("Item 2"); btn4->setMenu(menu);

第四個按鈕則為有下拉式選單的按鈕。首先利用利用 增加 物件中的選單,再利用 將QMenu物件加入到按鈕中。


QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(btn1); layout->addWidget(btn2); layout->addWidget(btn3); layout->addWidget(btn4); layout->addStretch(1);

最後利用 設定版面配置為垂直排列,依序把建立好的四個按鈕加入。而 則指定了版面配置的可伸展空間,即為空白的空間。預設為0,若不指定則這四個按鈕會佔滿整個視窗,但因為範例有下拉式選單按鈕,因此使用這個功能。


執行

執行這個範例,如下所示。

Image:Qt_PushButton_01.jpg




阅读(1696) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~