Qt的6个简单小案例

一、登录界面

基类是Dialog,添加一个作为主界面的MainWindow类
目录结构:
在这里插入图片描述

pro文件添加如下代码添加图标:

RC_ICONS = myico.ico

登陆界面设计:
在这里插入图片描述
dialog.cpp

#include "dialog.h"
#include "ui_dialog.h"
#include "QMessageBox"//

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::on_pushButton_2_clicked()//
{
    close();
}

void Dialog::on_pushButton_clicked()//
{
    if(ui->lineEdit->text().trimmed()=="abc123"&&ui->lineEdit_2->text().trimmed()=="123"){
        accept();
    }
    else {
        QMessageBox::question(this,tr("警告"),tr("用户名或密码错误!!!"),QMessageBox::Yes,QMessageBox::No);
    }
}

main.cpp

#include "dialog.h"
#include <QApplication>
#include"mainwindow.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Dialog w;
    MainWindow w1;//
    if(w.exec()==QDialog::Accepted){//
        w1.show();//
    }//

    return a.exec();
}

mainwindow.cpp不改

二、菜单和工具栏

新建一个MainWindow,双击添加菜单名及子菜单名,回车应用,添加英文半角符==(&F)==可以在运行时通过快捷键 alt+F触发。
在这里插入图片描述
添加子菜单的图标:
双击下面的action
在这里插入图片描述
在这里插入图片描述
当然这里只是一个单纯的菜单的添加,并没有赋予功能,还可以添加一些功能,像是可以添加一个文本复制的功能,这里可以转到我的另一篇 Qt在MainWndow中的菜单栏中实现文本复制功能
注意:图片资源不要直接添加到项目路径下,可以放到上一级目录或上级目录之外,要不,,嘿嘿👻👻,,就加载不出来了。。。

三、键盘事件

~:https://blog.csdn.net/weixin_43624626/article/details/115493337

四、鼠标事件(滚轮…)

~:https://blog.csdn.net/weixin_43624626/article/details/115493337

五、 事件过滤(鼠标键)

转~https://blog.csdn.net/weixin_43624626/article/details/115700771

六、设置不规则窗体(透明度)

1、新建一个Qt Widget应用,基类选择QWidget,类名可以保持默认。
2、向项目中添加一个背景透明的png图片
在这里插入图片描述
3、在widget.cpp中添加头文件
在这里插入图片描述

#include<QPixmap>
#include<QBitmap>
#include<QPainter>

4、进入widget.h源文件中,声明两个事件处理函数
在这里插入图片描述

protected:
    void paintEvent(QPaintEvent *);
    void mousePressEvent(QMouseEvent *);

5、然后在构造函数中添加如下代码,用来加载图片、设置窗口大小和调用setMask()函数为窗口设置屏蔽罩。
在这里插入图片描述

QPixmap pix;
pix.load("../buguize/touming.png");
resize(pix.size());
setMask(pix.mask());

6、再添加两个事件处理函数,一个用来图片的绘制,另一个用来鼠标单击图片关闭窗口。
在这里插入图片描述

void Widget::paintEvent(QPaintEvent *){
    QPainter painter(this);
    painter.drawPixmap(0,0,QPixmap("../buguize/touming.png"));

}
void Widget::mousePressEvent(QMouseEvent *){
    close();
}

7、构建并运行一下看看效果
在这里插入图片描述

  • 8
    点赞
  • 117
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sunqk5665

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值