1. 程式人生 > >【Qt5開發及例項】9、一個QQ介面

【Qt5開發及例項】9、一個QQ介面

這個程式主要是為了學習一下工具盒類,這裡使用了3個工具盒然後新增到整個介面上,

分別是:好友(good friend), 陌生人(do not remember), 黑名單(black items) 哈哈,原諒我這不咋地的英語,懂我就好。

實現圖:

程式碼:

drawer.h

/**
* 書本:【Qt5開發及例項】
* 功能:實現一個自己的QQ介面
* 檔案:drawer.cpp
* 時間:2015年1月2日11:01:12
* 作者:cutter_point
*/
#ifndef DRAWER_H
#define DRAWER_H

#include <QToolBox>
#include <QToolButton>
#include <QWidget>

class Drawer : public QToolBox
{
  Q_OBJECT
public:
  Drawer(QWidget *parent = 0, Qt::WindowFlags f = 0);

private:    //私有成員
  QToolButton *toolBtn1_1;    //一個個QQ上的頭像按鈕
  QToolButton *toolBtn1_2;
  QToolButton *toolBtn1_3;
  QToolButton *toolBtn1_4;
  QToolButton *toolBtn1_5;
  QToolButton *toolBtn2_1;
  QToolButton *toolBtn2_2;
  QToolButton *toolBtn3_1;
  QToolButton *toolBtn3_2;

};

#endif // DRAWER_H

drawer.cpp

/**
* 書本:【Qt5開發及例項】
* 功能:實現一個自己的QQ介面,我喜歡程式設計師,他們單純、固執、容易體會到成就感;面對壓力,能夠挑燈夜戰不眠不休;
*         面對困難,能夠迎難而上挑戰自我。他們也會感到困惑與傍徨,但每個程式設計師的心中都有一個比爾蓋茨或是喬布斯的夢想
*         “用智慧開創屬於自己的事業”。我想說的是,其實我是一個程式設計師
* 檔案:drawer.cpp
* 時間:2015年1月2日11:01:12
* 作者:cutter_point
*/
#include "drawer.h"

#include <QGroupBox>  //一個有標題的組合框。
#include <QVBoxLayout>  //這個是垂直佈局的標頭檔案

Drawer::Drawer(QWidget *parent, Qt::WindowFlags f) :
  QToolBox(parent, f)
{
  setWindowTitle(tr("My QQ"));    //專案框的標題

  toolBtn1_1 = new QToolButton;   //建立一個toolbutton物件工具盒類
  toolBtn1_1->setText(tr("zhang san"));   //張三
  toolBtn1_1->setIcon(QPixmap("://11.png"));    //引入照片11
  toolBtn1_1->setIconSize(QPixmap("://11.png").size());   //規定照片的大小
  toolBtn1_1->setAutoRaise(true);   //設定自動浮起是否有效為enable。
  toolBtn1_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按鈕的文字顯示在旁邊

  toolBtn1_2 = new QToolButton;   //建立一個toolbutton物件工具盒類
  toolBtn1_2->setText(tr("li shi"));   //李四
  toolBtn1_2->setIcon(QPixmap(":/12.png"));    //引入照片11
  toolBtn1_2->setIconSize(QPixmap(":/12.png").size());   //規定照片的大小
  toolBtn1_2->setAutoRaise(true);   //設定自動浮起是否有效為enable。
  toolBtn1_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按鈕的文字顯示在旁邊

  toolBtn1_3 = new QToolButton;   //建立一個toolbutton物件工具盒類
  toolBtn1_3->setText(tr("wang wu"));   //王五
  toolBtn1_3->setIcon(QPixmap(":/13.png"));    //引入照片11
  toolBtn1_3->setIconSize(QPixmap(":/13.png").size());   //規定照片的大小
  toolBtn1_3->setAutoRaise(true);   //設定自動浮起是否有效為enable。
  toolBtn1_3->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按鈕的文字顯示在旁邊

  toolBtn1_4 = new QToolButton;   //建立一個toolbutton物件工具盒類
  toolBtn1_4->setText(tr("xiao zhao"));   //小趙
  toolBtn1_4->setIcon(QPixmap(":/14.png"));    //引入照片11
  toolBtn1_4->setIconSize(QPixmap(":/14.png").size());   //規定照片的大小
  toolBtn1_4->setAutoRaise(true);   //設定自動浮起是否有效為enable。
  toolBtn1_4->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按鈕的文字顯示在旁邊

  toolBtn1_5 = new QToolButton;   //建立一個toolbutton物件工具盒類
  toolBtn1_5->setText(tr("xiao sun"));   //小孫
  toolBtn1_5->setIcon(QPixmap(":/15.png"));    //引入照片11
  toolBtn1_5->setIconSize(QPixmap(":/15.png").size());   //規定照片的大小
  toolBtn1_5->setAutoRaise(true);   //設定自動浮起是否有效為enable。
  toolBtn1_5->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); //按鈕的文字顯示在旁邊

  QGroupBox *groupBox1 = new QGroupBox;
  QVBoxLayout *layout1 = new QVBoxLayout(groupBox1);     //組合框。
  layout1->setMargin(10);   //設定佈局中各窗體的顯示間距
  layout1->setAlignment(Qt::AlignHCenter);    //佈局中各個窗體顯示的位置,這裡應該是中間
  layout1->addWidget(toolBtn1_1);
  layout1->addWidget(toolBtn1_2);
  layout1->addWidget(toolBtn1_3);
  layout1->addWidget(toolBtn1_4);
  layout1->addWidget(toolBtn1_5);
  layout1->addStretch();    //插入一個佔位符

  /**************************************華麗的分隔符***********************************************************************************************/
  toolBtn2_1 = new QToolButton;
  toolBtn2_1->setText(tr("xiao wang"));   //小王
  toolBtn2_1->setIcon(QPixmap(":/21.png"));
  toolBtn2_1->setIconSize(QPixmap(":/21.png").size());
  toolBtn2_1->setAutoRaise(true);
  toolBtn2_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

  toolBtn2_2 = new QToolButton;
  toolBtn2_2->setText(tr("xiao zhang"));   //小張
  toolBtn2_2->setIcon(QPixmap(":/22.png"));
  toolBtn2_2->setIconSize(QPixmap(":/22.png").size());
  toolBtn2_2->setAutoRaise(true);
  toolBtn2_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

  QGroupBox *groupBox2 = new QGroupBox;
  QVBoxLayout *layout2 = new QVBoxLayout(groupBox2);     //組合框。
  layout2->setMargin(10);   //設定佈局中各窗體的顯示間距
  layout2->setAlignment(Qt::AlignHCenter);    //佈局中各個窗體顯示的位置,這裡應該是中間
  layout2->addWidget(toolBtn2_1);
  layout2->addWidget(toolBtn2_2);
//  layout1->addStretch();    //插入一個佔位符
  /**************************************華麗的分隔符***********************************************************************************************/

  toolBtn3_1 = new QToolButton;
  toolBtn3_1->setText(tr("xiao chen"));   //小陳
  toolBtn3_1->setIcon(QPixmap(":/31.png"));
  toolBtn3_1->setIconSize(QPixmap(":/31.png").size());
  toolBtn3_1->setAutoRaise(true);
  toolBtn3_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

  toolBtn3_2 = new QToolButton;
  toolBtn3_2->setText(tr("xiao li"));   //小李
  toolBtn3_2->setIcon(QPixmap(":/32.png"));
  toolBtn3_2->setIconSize(QPixmap(":/32.png").size());
  toolBtn3_2->setAutoRaise(true);
  toolBtn3_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);

  QGroupBox *groupBox3 = new QGroupBox;
  QVBoxLayout *layout3 = new QVBoxLayout(groupBox3);     //組合框。
  layout3->setMargin(10);   //設定佈局中各窗體的顯示間距
  layout3->setAlignment(Qt::AlignHCenter);    //佈局中各個窗體顯示的位置,這裡應該是中間
  layout3->addWidget(toolBtn3_1);
  layout3->addWidget(toolBtn3_2);
//  layout1->addStretch();    //插入一個佔位符
  /**************************************華麗的分隔符***********************************************************************************************/

  this->addItem((QWidget*)groupBox1, tr("my good friend"));   //好友
  this->addItem((QWidget*)groupBox2, tr("do not remember"));  //陌生人
  this->addItem((QWidget*)groupBox3, tr("black items"));    //黑名單
}

最後資源連結,這下我知道怎麼打開了,在個人主頁裡面,點選那個

那個down就可以跳轉過去了= =,蛋疼。我又試了一遍,這次好像不管怎麼搞都挺快的!!!!

不過上傳完資源之後直接點,去我的資源頁,基本進不去,頁面直接崩潰!!!

資源連結,裡面有相應的圖片:額 ,連結今天半天沒顯示出來,以後再上鍊接吧= =