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/C++ - 从代码到可执行程序的过程详解

    C/C++ - 从代码到可执行程序的过程详解

    这篇文章主要介绍了C/C++ - 从代码到可执行程序的过程,主要有预编译和编译,汇编链接,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • 浅谈C++函数声明后面加throw()的作用(必看)

    浅谈C++函数声明后面加throw()的作用(必看)

    下面小编就为大家带来一篇浅谈C++函数声明后面加throw()的作用(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • 深入串的模式匹配算法(普通算法和KMP算法)的详解

    深入串的模式匹配算法(普通算法和KMP算法)的详解

    本篇文章是对串的模式匹配算法(普通算法和KMP算法)的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • C语言数据结构之单链表操作详解

    C语言数据结构之单链表操作详解

    链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。本文将和大家一起聊聊C语言中单链表的常用操作,感兴趣的可以学习一下
    2022-07-07
  • 在Visual Studio 2019中修改项目名的方法

    在Visual Studio 2019中修改项目名的方法

    这篇文章主要介绍了在Visual Studio 2019中修改项目名的方法,文中通过示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 基于QT5实现一个时钟桌面

    基于QT5实现一个时钟桌面

    这篇文章主要介绍了利用QT5实现的一个时钟桌面,文中的示例代码讲解详细,对我们学习或工作有一定的帮助,感兴趣的小伙伴可以了解一下
    2022-01-01
  • C++使用Kruskal和Prim算法实现最小生成树

    C++使用Kruskal和Prim算法实现最小生成树

    这篇文章主要介绍了C++使用Kruskal和Prim算法实现最小生成树,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01
  • C++ 使用getline()从文件中读取一行字符串方法示例

    C++ 使用getline()从文件中读取一行字符串方法示例

    这篇文章主要介绍了C++ 使用getline()从文件中读取一行字符串方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • OpenCV实现透视变换矫正

    OpenCV实现透视变换矫正

    这篇文章主要为大家详细介绍了OpenCV实现透视变换矫正,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • C语言之快速排序算法(递归Hoare版)介绍

    C语言之快速排序算法(递归Hoare版)介绍

    大家好,本篇文章主要讲的是C语言之快速排序算法(递归Hoare版)介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2021-12-12

最新评论