2. qt写带有槽的登录界面(c++)

devtools/2025/3/16 8:36:10/

        我们在1.Qt写简单的登录界面(c++)_c++ qt 设计一个简单界面-CSDN博客中写了个简单的登录界面,但没有槽,在这里写一个带有槽的界面。

1.代码

代码目录如下:

main.cpp的代码如下:

#include "MainWindow.h"
#include <QtWidgets/QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

MainWindow.h的代码如下:

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_MainWindow.h"
#include <QLabel>
#include <QtWidgets>class MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();public slots: // 或者直接在类定义中定义槽函数。void handleMySignal();private:Ui::MainWindow *ui;
};

MainWindow.cpp的代码如下:

#include "MainWindow.h"#include <QLabel>
#include <QtWidgets>MainWindow::MainWindow(QWidget *parent): QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);this->setWindowTitle("The first UI display of wang");//设置窗口标题this->setWindowIcon(QIcon("D:\\AI\\vs\\ui\\Demo1\\Demo1\\buttonss\\ss.png"));//设置窗口图标//this->setWindowFlag(Qt::FramelessWindowHint);//设置纯净标题this->resize(800, 600);//设置大小this->setStyleSheet("background-color:white");//设置背景颜色// --------------------按钮设置-------------------QPushButton* btn = new QPushButton(" register", this);btn->setGeometry(350, 400, 120, 50);btn->setStyleSheet("background-color:rgb(8,189,253);border-radius:5px;color:white");//设置背景,按钮样式,字体颜色// 建立关联当点击pushButton时信号clicked 发送给槽on_pushButton_clickedbtn->connect(btn, &QPushButton::clicked, this, &MainWindow::handleMySignal);}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::handleMySignal()
{this->setWindowTitle("wang");//设置窗口标题}

运行结果如下:

点击按钮后的结果如下:

我们发现左上角的名称变为了"wang".

2.注意事项

在该代码中,可能会出现 ui(new Ui::MainWindow) 的报错,解决办法如下:

1.打开项目中的MainWindow.ui文件如下:

修改上图中右下角的"objectName"右边的名称为"MainWindow",然后保存该文件,退出后进入vs重新生成解决方案,这个时候还会继续报错。

2.进入MainWindow.h文件

如下图所示,将工具栏的debug修改为Release,然后将该文件最下面一行修改为Ui::MainWindow *ui;(自动生成的代码不是这样的,需要修改成这样)。

最后再次生成解决方案,就不会报错了。


http://www.ppmy.cn/devtools/167500.html

相关文章

【SpringBoot】实现登录功能

在上一篇博客中&#xff0c;我们讲解了注册页面的实现。在此基础上会跳转到登录页面&#xff0c;今天给大家带来的是使用 SpringBoot&#xff0c;MyBatis&#xff0c;Html&#xff0c;CSS&#xff0c;JavaScript&#xff0c;前后端交互实现一个登录功能。 目录 一、效果 二、…

MySQL数据库知识总结

MySQL数据库知识总结 一、基本概念及其介绍二、数据库中的数据类型&#xff08;一&#xff09;数值类型&#xff08;二&#xff09;字符串类型&#xff08;三&#xff09;日期类型 三、数据库基础语法&#xff08;一&#xff09;数据库的常用操作&#xff08;二&#xff09;数据…

golang算法回溯

字符集回溯 17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#x…

【2025】基于python+django的驾校招生培训管理系统(源码、万字文档、图文修改、调试答疑)

课题功能结构图如下&#xff1a; 驾校招生培训管理系统设计 一、课题背景 随着机动车保有量的不断增加&#xff0c;人们对驾驶技能的需求也日益增长。驾校作为驾驶培训的主要机构&#xff0c;面临着激烈的市场竞争和学员需求多样化等挑战。传统的驾校管理模式往往依赖于人工操作…

Certbot实现SSL免费证书自动续签(CentOS 7版 + Docker部署的nginx)

前置安装&#xff0c;可参考Certbot实现SSL免费证书自动续签&#xff08;CentOS 7 nginx/apache&#xff09; 如果是通过 Docker 运行 Nginx&#xff0c; certbot 无法直接检测到本地的 Nginx 配置。解决方案是 使用 standalone 模式 或 挂载 Webroot 方式获取 SSL 证书&…

设计模式--单例模式(Singleton)【Go】

引言 在设计模式中&#xff0c;单例模式&#xff08;Singleton Pattern&#xff09;是一种非常常见且实用的模式。它的核心思想是确保一个类只有一个实例&#xff0c;并提供一个全局访问点。这种模式在需要全局唯一对象的场景中非常有用&#xff0c;比如配置管理、日志记录、数…

浅谈AI落地之-加速训练

前言 曾在游戏世界挥洒创意&#xff0c;也曾在前端和后端的浪潮间穿梭&#xff0c;如今&#xff0c;而立的我仰望AI的璀璨星空&#xff0c;心潮澎湃&#xff0c;步履不停&#xff01;愿你我皆乘风破浪&#xff0c;逐梦星辰&#xff01; 混合精度&#xff1a; FL32是目前模型存…

MCU的工作原理:嵌入式系统的控制核心

MCU的工作原理可以概括为以下几个步骤&#xff1a; 1. 初始化 上电后&#xff0c;MCU从Flash存储器中加载程序代码&#xff0c;并初始化外设和寄存器。 2. 任务执行 根据程序逻辑&#xff0c;MCU执行数据处理、外设控制和通信等任务。通过中断系统实时响应外部事件。 3. 低…