02-project

#include "widget.h"
#include "ui_widget.h"
#include "mydialog.h" // 引入自定义对话框类头文件
#include <QFileDialog> // 引入文件对话框模块
#include <QDebug> // 引入调试输出模块
#include <QFileInfo> // 引入文件信息模块
#include <QMessageBox> // 引入消息对话框模块
#include <QPixmap> // 引入像素图模块
#include <QInputDialog> // 引入输入对话框模块
#include <QColorDialog> // 引入颜色对话框模块
#include <QFontDialog> // 引入字体对话框模块

// Widget类的构造函数,父窗口为QWidget指针
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    // 初始化UI界面
    ui->setupUi(this);
    
    // 设置窗口大小为固定尺寸600x600
    setFixedSize(600, 600);
    
    // 加载背景图片,并进行缩放以适应窗口大小,保持原图宽高比,使用平滑变换
    QPixmap pixmap(":/White deer.jpg");
    pixmap = pixmap.scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation);
    
    // 创建一个调色板并设置窗口背景为加载的图片
    QPalette palette;
    palette.setBrush(QPalette::Window, QBrush(pixmap));
    setPalette(palette);
    // setAutoFillBackground(true); // 若需要填充背景,则取消注释此行
    
}

// Widget类的析构函数,释放内存资源
Widget::~Widget()
{
    delete ui;
}

// 处理点击"打开文件对话框"按钮事件
void Widget::on_FileDialog_clicked()
{
    // 获取多个文件名列表
    QStringList filenamelist = QFileDialog::getOpenFileNames(
        this, "open File", QDir::currentPath(), "C++ Recourse File(*.cpp)");
    
    // 如果没有选择任何文件则返回
    if (filenamelist.isEmpty())
        return;
    
    // 打印所选的所有文件名
    for (const QString &file : filenamelist) {
        qDebug() << file;
    }
    
    // 获取并打印第一个选定文件的基本文件名(不含路径和扩展名)
    QFileInfo fileInfo(filenamelist.at(0));
    qDebug() << fileInfo.baseName();
}

// 处理点击"信息提示框"按钮事件
void Widget::on_MessageBox_clicked()
{
    // 显示一条信息提示对话框
    QMessageBox::information(this,
                             "Information",
                             "Welcome to my world");
}

// 处理点击"输入对话框"按钮事件
void Widget::on_InputDialog_clicked()
{
    // 使用输入对话框获取整数型密码
    int num = QInputDialog::getInt(this,
                                   "Input",
                                   "Please enter your password");
    
    // 输出输入的密码
    qDebug() << num;
}

// 处理点击"颜色对话框"按钮事件
void Widget::on_ColorDialog_clicked()
{
    // 使用颜色对话框获取用户选择的颜色,初始颜色为红色
    QColor color = QColorDialog::getColor(Qt::red, this, "Get Color");
    
    // 输出选择的颜色
    qDebug() << color;
    
    // 设置框架控件的背景自动填充,并设置其背景色为用户选择的颜色
    ui->frame->setAutoFillBackground(true);
    ui->frame->setPalette(color);
}

// 处理点击"字体对话框"按钮事件
void Widget::on_FontDialog_clicked()
{
    // 使用字体对话框获取用户选择的字体,初始字体为"微软雅黑"
    bool ok;
    QFont font = QFontDialog::getFont(&ok, QFont("微软雅黑"), this, "Get Font");
    
    // 输出选择的字体
    qDebug() << font;
}

// 处理点击"登录"按钮事件
void Widget::on_Login_clicked()
{
    // 创建并显示自定义登录对话框
    myDialog dialog(this);
    dialog.exec();
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值