版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40722661/article/details/80559460
界面设计开发
创建项目如下图所示:
Drawer类继承自QToolBox类;
编写drawer.h文件
#ifndef DRAWER_H
#define DRAWER_H
#include<QToolBox>
#include<QToolButton>
class Drawer : public QToolBox
{
Q_OBJECT
public:
Drawer(QWidget*parent=0, Qt::WindowFlags f = 0);
private:
QToolButton *toolBtn1;
QToolButton *toolBtn2;
QToolButton *toolBtn3;
QToolButton *toolBtn4;
QToolButton *toolBtn5;
QToolButton *toolBtn6;
QToolButton *toolBtn7;
QToolButton *toolBtn8;
QToolButton *toolBtn9;
};
#endif // DRAWER_H
Q_OBJECT宏:->程序中引进信号/槽机制,使这个类能使用信号/槽功能。
若要了解Drawer(QWidget*parent=0, Qt::WindowFlags f = 0)这样声明的详细情况,进入连接:QWidget详解
QToolButton:->这里我们假设有9个聊天成员;
从这里进入了解QToolButton:Qt之QToolButton
导入图片资源
资源导入的步骤:
右键项目主目录,“添加新文件”;
添加前缀后可添加文件,(可以给文件设置别名)‘.qrc’文件如下图所示:
编写drawer.cpp文件
#include "drawer.h"
#include <OGroupBox>
#include <QVBoxLayout>
Drawer::Drawer(Qwidget * parent, Qt::WindowFlags f):QToolBox(parent, f)
{
setwindowTitle(tr("Myself 00 2013"));//设置主窗体的标题
setwindowIcon(PIxmap(n: /images qq. png" )//设置主窗体标题栏图标
toolBtn1 = new OToolButton:
//(a)
toolEn1-> setText(tr("水漂奇鼋");
//(b)
toolBtni->setIcon(Pixmap(":/images/spqy. png"));
//(c)
toolBtnl->setIconSize(Pixmap(":/images/spqy. png").size());
//(d)
toolBtnI->setAutoRaise(true);
//(e)
/*
......重复这么几个
*/
QGroupBox *groupBox = new QGroupBox;
QVBoxLayout *layout = new QVBoxLayout(groupBox);
layout->setMargin(20);
layout->setAlignment(Qt::AlignLeft);
layout->addWidget(toolBtn1);
layout->addWidget(toolBtn2);
layout->addWidget(toolBtn3);
layout->addWidget(toolBtn4);
layout->addWidget(toolBtn5);
layout->addWidget(toolBtn6);
layout->addWidget(toolBtn7);
layout->addWidget(toolBtn8);
layout->addWidget(toolBtn9);
layout->addStretch();
this->addItem((QWidget*)groupBox,tr("群成员"));
}
对于QToolButton对象:
setText(tr(“”))设置按钮的文字
setIcon(“路径”)设置按钮的图标
setIconSize(QPixmap(“路径”).size)设置按钮的大小和图标的大小相同
setAutoRaise(true)当鼠标离开时,按钮自动回复成弹起状态
setButtonStyle()设置按钮的样式