做Qt开发难免会遇到按钮组件,然后对内容组件进行切换的基础假设,基本上大部分主流用Qt开发的软件都必须具备这个功能,然后,开发人员只需要不断的改进每一个内容组件和内容组件之间的信号传递就可以了。
这个功能主要是使用了QToolButton,QStringList,QList,QSignalMapper,QStackedWidget这几个主要功能。
首先自定义按钮的格式:
ToolButton::ToolButton(QString pic_name,QWidget *parent) :
QToolButton(parent),
ui(new Ui::ToolButton)
{
ui->setupUi(this);
//设置文本颜色
QPalette text_palette = palette();
text_palette.setColor(QPalette::ButtonText,QColor(230,230,230));
setPalette(text_palette);
//设置文本粗体
QFont &text_font = const_cast<QFont &>(font());
text_font.setWeight(QFont::Bold);
setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
//设置图标
QPixmap pixmap(pic_name);
setIcon(pixmap);
setIconSize(pixmap.size());
//设置大小
setFixedSize(pixmap.width()+80,pixmap.height()+25);
setAutoRaise(true);
setObje