一、登录界面
基类是Dialog,添加一个作为主界面的MainWindow类
目录结构:
pro文件添加如下代码添加图标:
RC_ICONS = myico.ico
#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>
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();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74931.html