当前位置: 首页 > article >正文

QT基础和练习

基础应用:MyWidget.cpp

#include "mywidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    this->resize(960,720);
/*
    //qDebug
    //1、类似与printf()的使用
    qDebug("%s","hello world");
    //2、类似于cout的使用 默认有换行 比较常用
    qDebug() << "hello seikai";
    //3、qt中的字符串是QString类  其中有一个成员函数arg()
    QString name = "张三";
    QString s = QString("%1,%2,%3").arg(name).arg(100).arg(200);
    qDebug() << name;
    qDebug() << s;
*/
/*
    //求出窗口的大小
    this->qDebug() << size();
    this->qDebug() << width();
    this->qDebug() << height();
    this->qDebug() << this->size().width();
    this->qDebug() << size().height();
*/
/*
    //窗口相关设置
    //设置窗口的标题
    this->setWindowTitle("test");
    //设置窗口logo
    this->setWindowIcon(QIcon("C:\\Users\\11620\\Desktop\\kawa.jpg"));
    //设置背景色
//    this->setStyleSheet("background-color:purple");
//    this->setStyleSheet("background-color:rgb(67,172,186)");
    this->setStyleSheet("background-color:#43ACBA");
    //重新设置窗口大小
    this->resize(535,415);
    //固定窗口大小
    this->setFixedSize(535,415);
    //设置纯净窗口
    this->setWindowFlag(Qt::FramelessWindowHint,true);
*/
/*
    //按钮
    //======= 创建第一个按钮 =======
    QPushButton *btn1 = new QPushButton();

    //组件调用show只会让组件单独显示
    //btn1->show();
    //如果想要让组件依赖窗口显示,则需要给组件指定父对象(父组件) 并非继承关系
    btn1->setParent(this);
    //设置按钮文本
    btn1->setText("测试按钮");
    btn1->setStyleSheet("background-color:#FFCCAA");

    //======= 创建第二个按钮 =======
    QPushButton *btn2 = new QPushButton("测试按钮2",this);
    //移动按钮
    btn2->move(0,50);
    //设置案件背景图
    btn2->setIcon(QIcon("C:\\Users\\11620\\Downloads\\pictrue\\userName.jpg"));

    //======= 创建第三个按钮 =======
    QPushButton *btn3 =
            new QPushButton
            (QIcon("C:\\Users\\11620\\Downloads\\pictrue\\qq.png"),"测试按钮3",this);
    btn3->move(50,300);
    //设置按钮大小
    btn3->resize(180,30);
    //设置按钮为不可用状态
    btn3->setEnabled(false);
*/
/*
    // 行编辑器
    //============== 创建一个行编辑器 ==============
    QLineEdit *edit1 = new QLineEdit;
    //设置父对象
    edit1->setParent(this);
    //设置显示模式
    //QLineEdit:: enum EchoMode { Normal, NoEcho, Password, PasswordEchoOnEdit };
    edit1->setEchoMode(QLineEdit::Password);

    //============== 创建二个行编辑器 ==============
    QLineEdit *edit2 = new QLineEdit("张三",this);
    edit2->move(0,100);

    //============== 创建三个行编辑器 ==============
    QLineEdit *edit3 = new QLineEdit(this);
    edit3->move(0,200);
    //设置占位提示信息
    edit3->setPlaceholderText("请输入密码:");
*/
/*
    //标签类
    //=============== 创建第一个标签  显示文本 ===============
    QLabel *lab1 = new QLabel;
    lab1->setParent(this);
    lab1->move(50,50);
    //设置文本
    lab1->setText("这是一个标签");
    //重新设置标签大小
    lab1->resize(150,50);
    //设置标签背景颜色
    lab1->setStyleSheet("background-color:green");

    //=============== 创建第一个标签  显示图片 ===============
    QLabel *lab2 = new QLabel(this);
    lab2->move(50,150);
    lab2->resize(150,50);
    lab2->setStyleSheet("background-color:pink");
    //显示图片
    lab2->setPixmap(QPixmap("C:\\Users\\11620\\Downloads\\pictrue\\logo.png"));
    //设置图片大小自适应
    lab2->setScaledContents(true);
*/
/*
    //=============== 创建第一个标签  显示动图 ===============
    QLabel *lab1 = new QLabel(this);
    lab1->resize(960,400);
    lab1->setStyleSheet("background-color:green");
    //用动图类QMovie 实例化一个动图
    QMovie *mv = new QMovie("C:\\Users\\11620\\Downloads\\pictrue\\zz.gif");
    //图片放入标签
    lab1->setMovie(mv);
    //让图片动起来
    mv->start();
    //图片自适应大小
    lab1->setScaledContents(true);

    QPushButton *btn = new QPushButton("登陆",this);
    btn->move(380,600);
    btn->resize(180,80);

    btn->setStyleSheet("background-color:#0099ff;color:white;border-radius:5px");
*/

}

MyWidget::~MyWidget()
{

}

练习:MyWidget.cpp

#include "mywidget.h"

// MyWidget 构造函数,继承自 QWidget
MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    // 设置窗口的背景颜色为深灰色
    this->setStyleSheet("background-color:#0e0e10");
    // 设置窗口的大小为 880x550
    this->resize(880,550);

    // 设置窗口标题为 "steam"
    this->setWindowTitle("steam");
    // 设置窗口图标
    this->setWindowIcon(QIcon("C:\\Users\\11620\\Downloads\\logo.png"));

    // 创建顶部标签,作为背景条
    QLabel *lab_tb = new QLabel(this);
    // 设置标签大小
    lab_tb->resize(880,100);
    // 设置标签背景颜色为蓝色
    lab_tb->setStyleSheet("background-color:#4476f9");

    // 创建左上角的 logo 标签
    QLabel *lab_logo = new QLabel(this);
    // 设置 logo 标签大小
    lab_logo->resize(200,100);
    // 移动 logo 标签到窗口的左上角
    lab_logo->move(50,0);
    // 设置 logo 标签背景颜色为蓝色
    lab_logo->setStyleSheet("background-color:#4476f9");
    // 加载 logo 动画
    QMovie *logo = new QMovie("C:\\Users\\11620\\Downloads\\leftlogo.png");
    // 设置 logo 标签的动画
    lab_logo->setMovie(logo);
    // 开始播放动画
    logo->start();
    // 设置 logo 标签内容自适应大小
    lab_logo->setScaledContents(true);

    // 创建中间的主 logo 标签
    QLabel *lab_mlogo = new QLabel(this);
    // 设置主 logo 标签大小
    lab_mlogo->resize(720,405);
    // 移动主 logo 标签到窗口的中间
    lab_mlogo->move(345,100);
    // 设置主 logo 标签背景颜色为绿色
    lab_mlogo->setStyleSheet("background-color:green");
    // 加载主 logo 动画
    QMovie *mlogo = new QMovie("C:\\Users\\11620\\Downloads\\steam.gif");
    // 设置主 logo 标签的动画
    lab_mlogo->setMovie(mlogo);
    // 开始播放动画
    mlogo->start();
    // 设置主 logo 标签内容自适应大小
    lab_logo->setScaledContents(true);

    // 创建账户输入框
    QLineEdit *edit_name = new QLineEdit(this);
    // 设置输入框大小
    edit_name->resize(480,50);
    // 移动输入框到指定位置
    edit_name->move(50,150);
    // 设置输入框的占位提示信息
    edit_name->setPlaceholderText("请输入账户:");
    // 设置输入框的样式
    edit_name->setStyleSheet("background-color:#32353c;color:#afafaf;border-radius:5px");

    // 创建密码输入框
    QLineEdit *edit_psd = new QLineEdit(this);
    // 设置输入框大小
    edit_psd->resize(480,50);
    // 移动输入框到指定位置
    edit_psd->move(50,230);
    // 设置输入框的占位提示信息
    edit_psd->setPlaceholderText("请输入密码:");
    // 设置输入框的样式
    edit_psd->setStyleSheet("background-color:#32353c;color:#afafaf;border-radius:5px");
    // 设置输入框为密码模式,隐藏输入内容
    edit_psd->setEchoMode(QLineEdit::Password);

    // 创建账户输入框上方的提示文本
    QLabel *lab_push_name = new QLabel("用账户名称登陆",this);
    // 设置提示文本大小
    lab_push_name->resize(120,20);
    // 移动提示文本到指定位置
    lab_push_name->move(50,130);
    // 设置提示文本的样式
    lab_push_name->setStyleSheet("background-color:#0e0e10;color:#1999ff");

    // 创建密码输入框上方的提示文本
    QLabel *lab_push_psd = new QLabel("密码",this);
    // 设置提示文本大小
    lab_push_psd->resize(120,20);
    // 移动提示文本到指定位置
    lab_push_psd->move(50,210);
    // 设置提示文本的样式
    lab_push_psd->setStyleSheet("background-color:#0e0e10;color:#1999ff");

    // 创建登陆按钮
    QPushButton *btn = new QPushButton("登陆",this);
    // 移动按钮到指定位置
    btn->move(120,340);
    // 设置按钮大小
    btn->resize(340,60);
    // 设置按钮的样式
    btn->setStyleSheet("background-color:#0099ff;color:white;border-radius:5px");
}

// MyWidget 析构函数
MyWidget::~MyWidget()
{
}


http://www.kler.cn/a/444093.html

相关文章:

  • 分布式系统架构5:限流设计模式
  • 重拾设计模式--建造者模式
  • Vue Web开发(十)
  • windows下搭建本地sofa-registry
  • 彻底认识和理解探索分布式网络编程中的SSL安全通信机制
  • 基于LabVIEW的USRP信道测量开发
  • 利用Python爬虫获取微店商品详情API接口的深入指南
  • 蓝桥杯——竞赛省赛国赛题分享
  • React中定义和使用函数式组件
  • 天天 AI-241215:今日热点-OpenAI发布ChatGPT Projects,万能工具箱上线!
  • Vue零基础教程|从前端框架到GIS开发系列课程(五)组件式开发
  • Quartz 架构和单体应用介绍
  • 汽车IVI中控开发入门及进阶(三十八):HiCar开发
  • 数据结构,链表的简单使用
  • UDP基本了解
  • 为什么要用单例模式?
  • windows C#-命名实参和可选实参(下)
  • C/C++语言——解题
  • 机试题——维修工
  • UI框架DevExpress XAF v24.2新功能预览 - .NET Core / .NET增强
  • Flutter控件FutureBuilder控件详解
  • uniapp使用百度地图配置了key,但是显示Map key not configured
  • Unity 根据文本宽度自动移动图像位置
  • thinkphp5命令行,addOption和addArgument有什么区别
  • 51c自动驾驶~合集41
  • 受限前缀注意机制的事件关系识别