Drawer::Drawer(QWidget *parent, Qt::WindowFlags f) :QToolBox(parent, f) { setWindowTitle(tr("Myself QQ 2023")); //设置主窗口的标题 setWindowIcon(QPixmap(":/image/qq.png")); //设置主窗体标题栏图标 toolBtn1 = new QToolButton; toolBtn1->setText(tr("道枝小尧")); toolBtn1->setIcon(QPixmap(":/image/spqy.png")); toolBtn1->setIconSize(QPixmap(":/image/spqy.png").size()); toolBtn1->setAutoRaise(true); toolBtn1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); connect(toolBtn1, SIGNAL(clicked()), this, SLOT(showChatWidget1())); toolBtn2 = new QToolButton; toolBtn2->setText(tr("忆梦如澜")); toolBtn2->setIcon(QPixmap(":/image/ymrl.png")); toolBtn2->setIconSize(QPixmap(":/image/ymrl.png").size()); toolBtn2->setAutoRaise(true); toolBtn2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); connect(toolBtn2, SIGNAL(clicked()), this, SLOT(showChatWidget2())); QGroupBox *groupBox = new QGroupBox; QVBoxLayout *layout = new QVBoxLayout(groupBox); layout->setMargin(20); //布局中各窗体的显示间距 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("群成员")); }
时间: 2024-04-02 20:32:19 浏览: 146
qtquick-navigationdrawer:适用于QtQuick的android风格的导航抽屉
这是一个 Qt 程序中的一个类,该类表示一个工具箱窗口,其中包含了多个工具按钮,每个按钮都可以触发一个操作。通过这些操作,用户可以打开不同的聊天窗口,与不同的用户进行聊天。这段代码中,创建了一个 QToolBox 对象,并添加了多个 QToolButton 对象,每个按钮都有一个图标和一个文本标签。当用户点击按钮时,会触发对应的槽函数,打开对应的聊天窗口。这个程序是一个仿 QQ 的聊天界面,用于展示 Qt 程序的界面设计和事件处理。
阅读全文