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()));创建登录界面
时间: 2024-03-14 19:48:19 浏览: 57
以QToolButton为例介绍Qt界面外观设计.zip
这里是一个简单的登录界面的代码示例:
```cpp
#include "loginwidget.h"
#include "ui_loginwidget.h"
#include <QMessageBox>
LoginWidget::LoginWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::LoginWidget)
{
ui->setupUi(this);
// 设置窗口标题
setWindowTitle(tr("登录"));
// 设置窗口图标
setWindowIcon(QIcon(":/image/icon.png"));
// 设置用户名和密码框的默认提示文本
ui->lineEditUsername->setPlaceholderText(tr("请输入用户名"));
ui->lineEditPassword->setPlaceholderText(tr("请输入密码"));
// 设置登录按钮的默认文本
ui->pushButtonLogin->setText(tr("登录"));
// 连接登录按钮的 clicked 信号到槽函数
connect(ui->pushButtonLogin, SIGNAL(clicked()), this, SLOT(onButtonLoginClicked()));
}
LoginWidget::~LoginWidget()
{
delete ui;
}
void LoginWidget::onButtonLoginClicked()
{
// 获取用户名和密码
QString username = ui->lineEditUsername->text();
QString password = ui->lineEditPassword->text();
// 判断用户名和密码是否为空
if (username.isEmpty() || password.isEmpty()) {
QMessageBox::warning(this, tr("警告"), tr("用户名和密码不能为空!"));
return;
}
// 在此处添加登录验证代码
// ...
// 如果验证通过,则关闭登录界面并显示主界面
hide();
// 这里可以创建并显示主界面,或者发送信号给主窗口进行处理
// ...
}
```
需要注意的是,这里的 `LoginWidget` 类继承自 `QWidget`,并且使用了 Qt Designer 创建的界面布局,需要在 `ui_loginwidget.h` 中声明界面控件的指针。另外,需要在 `.pro` 文件中添加对 `widgets` 模块的依赖:
```
QT += widgets
```
界面布局文件 `loginwidget.ui` 中包含一个 `QFormLayout`,用于布局用户名和密码框,以及一个 `QHBoxLayout`,用于布局登录按钮。需要将这些控件与代码中的指针进行绑定,例如:
```cpp
ui->lineEditUsername = new QLineEdit;
ui->formLayout->addRow(tr("用户名:"), ui->lineEditUsername);
```
最后,需要在 `main.cpp` 中创建并显示登录界面:
```cpp
#include "loginwidget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
LoginWidget w;
w.show();
return a.exec();
}
```
阅读全文