Qt实现UI界面纯代码示例

 更新时间:2024年01月23日 15:39:29   作者:木木夕木目心.HDS  
这篇文章主要给大家介绍了关于Qt实现UI界面的相关资料,使用Qt纯代码,实现了基本的界面,对大家学习或者使用Qt具有一定的参考借鉴价值,需要的朋友可以参考下

1.相关信息

设置编辑框内容的字体样式,包括加粗、下划线、斜体、蓝色、红色、黑色

2.界面展示

3.相关代码

#include "dialog.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QCheckBox>
#include <QRadioButton>
#include <QPlainTextEdit>
#include <QPushButton>

// 下划线
void Dialog::do_chkBoxUnder(bool checked)
{
    QFont font = txtEdit->font();
    font.setUnderline(checked);
    txtEdit->setFont(font);
}

// 斜体
void Dialog::do_chkBoxItalic(bool checked)
{
    QFont font = txtEdit->font();
    font.setItalic(checked);
    txtEdit->setFont(font);
}

// 加粗
void Dialog::do_chkBoxBold(bool checked)
{
    QFont font = txtEdit->font();
    font.setBold(checked);
    txtEdit->setFont(font);
}

// 设置颜色
void Dialog::do_setFontColor()
{
    QPalette plet = txtEdit->palette();
    if(radioRed->isChecked()){
        plet.setColor(QPalette::Text, Qt::red);
    }else if(radioBlack->isChecked()){
        plet.setColor(QPalette::Text, Qt::black);
    }else if(radioBlue->isChecked()){
        plet.setColor(QPalette::Text, Qt::blue);
    }
    txtEdit->setPalette(plet);
}


Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    // 竖布局:字体样式
    chkBoxUnder = new QCheckBox("下划线");
    chkBoxItalic = new QCheckBox("斜体");
    chkBoxBold = new QCheckBox("加粗");
    QHBoxLayout *HLay1 = new QHBoxLayout();
    HLay1->addWidget(chkBoxUnder);
    HLay1->addWidget(chkBoxItalic);
    HLay1->addWidget(chkBoxBold);

    // 竖布局:字体颜色
    radioBlack = new QRadioButton("黑色");
    radioRed = new QRadioButton("红色");
    radioBlue = new QRadioButton("蓝色");
    QHBoxLayout *HLay2 = new QHBoxLayout();
    HLay2->addWidget(radioBlack);
    HLay2->addWidget(radioRed);
    HLay2->addWidget(radioBlue);

    // 编辑框
    txtEdit = new QPlainTextEdit();
    txtEdit->setPlainText("hello world \n 手工创建");
    QFont font = txtEdit->font();
    font.setPointSize(20);      // 字体大小
    txtEdit->setFont(font);

    // 确认、取消、退出
    btnOk = new QPushButton("确定");
    btnCancel = new QPushButton("取消");
    btnClose = new QPushButton("退出");
    QHBoxLayout *HLay3 = new QHBoxLayout();
    HLay3->addStretch();
    HLay3->addWidget(btnOk);
    HLay3->addWidget(btnCancel);
    HLay3->addStretch();
    HLay3->addWidget(btnClose);

    QVBoxLayout *VLay = new QVBoxLayout();
    VLay->addLayout(HLay1);
    VLay->addLayout(HLay2);
    VLay->addWidget(txtEdit);
    VLay->addLayout(HLay3);
    setLayout(VLay);

    // 信号与槽
    connect(chkBoxUnder, SIGNAL(clicked(bool)), this, SLOT(do_chkBoxUnder(bool)));
    connect(chkBoxItalic, SIGNAL(clicked(bool)), this, SLOT(do_chkBoxItalic(bool)));
    connect(chkBoxBold, SIGNAL(clicked(bool)), this, SLOT(do_chkBoxBold(bool)));

    connect(radioRed, SIGNAL(clicked()), this, SLOT(do_setFontColor()));
    connect(radioBlack, SIGNAL(clicked()), this, SLOT(do_setFontColor()));
    connect(radioBlue, SIGNAL(clicked()), this, SLOT(do_setFontColor()));

    connect(btnOk, SIGNAL(clicked()), this, SLOT(accept()));
    connect(btnCancel, SIGNAL(clicked()), this, SLOT(reject()));
    connect(btnClose, SIGNAL(clicked()), this, SLOT(close()));

    setWindowTitle("手工打造UI");

}

Dialog::~Dialog() {}

总结 

到此这篇关于Qt实现UI界面的文章就介绍到这了,更多相关Qt实现UI界面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C++ primer超详细讲解关联容器

    C++ primer超详细讲解关联容器

    两个主要的关联容器为map和set,map中元素是一些关键字—值对,关键字起索引的作用,值则表示与索引相关联的数据。set中每个元素只包含一个关键字,set支持高效的关键字查询操作——检查一个给定关键字是否在set中
    2022-07-07
  • C语言栈的表示与实现实例详解

    C语言栈的表示与实现实例详解

    这篇文章主要介绍了C语言栈的表示与实现,对于数据结构与算法的研究有一定的借鉴价值,需要的朋友可以参考下
    2014-07-07
  • C++中cout输出中文信息乱码问题及解决

    C++中cout输出中文信息乱码问题及解决

    这篇文章主要介绍了C++中cout输出中文信息乱码问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • c++ 虚函数与纯虚函数的区别(深入分析)

    c++ 虚函数与纯虚函数的区别(深入分析)

    本篇文章是对c++中虚函数与纯虚函数的区别进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现LeetCode(112.二叉树的路径和)

    C++实现LeetCode(112.二叉树的路径和)

    这篇文章主要介绍了C++实现LeetCode(112.二叉树的路径和),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • 解析c++中参数对象与局部对象的析构顺序的详解

    解析c++中参数对象与局部对象的析构顺序的详解

    本篇文章是对c++中参数对象与局部对象的析构顺序进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C++实现指针空值的示例代码

    C++实现指针空值的示例代码

    本文主要介绍了C++实现指针空值的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 浅谈关于C++memory_order的理解

    浅谈关于C++memory_order的理解

    这篇文章主要介绍了浅谈关于C++memory_order的理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • C++实现转置矩阵的循环

    C++实现转置矩阵的循环

    大家好,本篇文章主要讲的是C++实现转置矩阵的循环,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2022-01-01
  • C++中设计一个类时的注意事项分享

    C++中设计一个类时的注意事项分享

    这篇文章主要来和大家分享一下C++中,设计一个类要注意哪些东西,这往往也是C++面试时会考到的问题,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06

最新评论