基于Qt的网红表白代码

  • 效果图
    在这里插入图片描述
  • 最近学了一些QT。发现网上这个程序员表白代码挺有意思的,就自己做了一个QT版的,也算是自己学习过程中的一种实践吧。
  • 源代码直接贴出
  • qwidgit.h
#pragma once

#include <QtWidgets/QWidget>
#include "ui_ConfessionCode.h"
#include <QMouseEvent>
#include <QMessageBox>
#include <QTextEncoder>
#include <QMovie>
#include <QIcon>

class ConfessionCode : public QWidget
{
	Q_OBJECT

public:
	ConfessionCode(QWidget *parent = Q_NULLPTR);

private:
	Ui::ConfessionCodeClass ui;
private slots:
	void OnButtonClickedOne();
	void OnButtonClickedTwo();
	void mouseMoveEvent(QMouseEvent *event);
};
  • qwidgit.cpp
#include "ConfessionCode.h"
#ifdef Q_OS_WIN
#pragma execution_character_set("utf-8")   //解决 VS编译器下中文乱码
#endif

ConfessionCode::ConfessionCode(QWidget *parent)
	: QWidget(parent)
{
	QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
	ui.setupUi(this);
	setWindowIcon(QIcon("Resources/Heart.jpg"));
	setWindowTitle("来自一位喜欢你的小哥哥");
	QMovie *Movie = new QMovie("Resources/Confession.gif");
	ui.label_2->setMovie(Movie);
	Movie->start();
	connect(ui.pushButton, SIGNAL(clicked(bool)), this,  SLOT(OnButtonClickedOne()));
	connect(ui.pushButton_2, SIGNAL(clicked(bool)), this, SLOT(OnButtonClickedTwo()));
}

void ConfessionCode::OnButtonClickedOne()
{
	QMessageBox::information(nullptr, "我喜欢你", "晚上一起看电影吧!!!!");
}

void ConfessionCode::OnButtonClickedTwo()
{
	//除非程序出Bug,不然不会有这句话
	QMessageBox::information(nullptr, "我真的喜欢你", "给个机会好不好!!!!!");
}

void ConfessionCode::mouseMoveEvent(QMouseEvent *event)
{	
	QPoint ButtonPoint = ui.pushButton_2->pos(); //得到控件位置										 
	QSize WindowSize = this->size(); //求得当前窗口大小
	QPoint MousePoint = event->pos();  //取得鼠标相对于窗口的位置
	if (MousePoint.ry() > WindowSize.height() / 2 && ButtonPoint.ry() > WindowSize.height() / 2) //鼠标在窗口部
	{
		ui.pushButton_2->move(ButtonPoint.rx(), ButtonPoint.ry() - WindowSize.height() / 2);//控件移动到窗口底部
	}
	else if (MousePoint.ry() < WindowSize.height() / 2 && ButtonPoint.ry() < WindowSize.height() / 2) //鼠标在窗口部//鼠标在窗口底部
	{
		ui.pushButton_2->move(ButtonPoint.rx(), ButtonPoint.ry() + WindowSize.height() / 2);//控件移动到窗口顶部
	}
}

main.cpp
此处非常关键:qt的机制导致设置鼠标移动监视需要在widget初始化出来之后show之前,且Qmainwidow还要将你的中心面板 setMouseTracking(true)。

#include "ConfessionCode.h"
#include <QtWidgets/QApplication>

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);
	ConfessionCode w;
	w.setMouseTracking(true); //开启widgets鼠标移动监视
	//注意qt的机制导致设置鼠标移动监视需要在widget初始化出来之后show出来之前,而qmainwindow则还需要将你的Widgets面板setMouseTracking(true); 
	w.show();
	return a.exec();
}

最后贴出github源码地址,使用的是编译环境是vs2010+qt5.10.
https://github.com/DengLangCode/ConfessionCode

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于Qt的人脸比对代码是通过使用Qt编程框架来实现人脸识别和比对功能的一段代码。Qt是一个跨平台的应用程序开发框架,可以用于开发各种类型的应用程序,包括图形用户界面(GUI)应用程序。 首先,在使用Qt开发人脸比对代码之前,我们需要先了解人脸识别和比对的基本原理。人脸识别是指通过计算机对人脸图像进行分析和处理,从而进行人脸的自动识别。而人脸比对则是将两个人脸图像进行匹配,判断它们是否为同一个人。 在基于Qt的人脸比对代码中,我们需要使用OpenCV等相关库来实现人脸识别和比对的功能。首先,我们需要使用OpenCV的人脸检测算法来检测和定位图像中的人脸。然后,提取出人脸图像的特征信息,例如使用Eigenfaces或LBPH等特征提取算法。接下来,将两个人脸图像的特征进行对比,计算它们之间的相似度得分。最后,通过设定一个阈值来判断两个人脸是否匹配。 在Qt代码中,我们可以使用Qt的图形界面设计工具来设计一个用户界面,包括一个选择文件的按钮和一个比对结果显示的区域。当用户点击选择文件按钮后,我们可以通过调用OpenCV的函数来选择并加载人脸图像。然后,对图像进行人脸检测和特征提取,并与预先存储的人脸数据库进行比对。最后,将比对结果显示在界面上。 总而言之,基于Qt的人脸比对代码是通过使用Qt编程框架结合OpenCV等相关库来实现图像的人脸识别和比对功能的一段代码。它可以用于开发人脸识别系统、门禁系统等各种应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值