IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> Qt--控件的使用 && 自定义控件 -> 正文阅读

[C++知识库]Qt--控件的使用 && 自定义控件

使用Ui设计的样子:

代码运行后的情况,红色框里全为自定义的控件:

第一行自定义的控件:具体操作就是在ui设计的相应位置放置一个Widget容器,右键Widget将其提升为我们自己定义的控件类。

//头文件
#ifndef DIYWIDGET_H
#define DIYWIDGET_H

#include <QWidget>

class DiyWidget : public QWidget
{
    Q_OBJECT
public:
    explicit DiyWidget(QWidget *parent = nullptr);

signals:

};

#endif // DIYWIDGET_H


//源文件
#include "diywidget.h"
#include <QSpinBox>
#include <QSlider>
#include <QHBoxLayout>

DiyWidget::DiyWidget(QWidget *parent) : QWidget(parent)
{
    QSpinBox *spnBox= new QSpinBox(this);
    QSlider  *slider = new QSlider(Qt::Horizontal,this);

    //把控件加到布局中
    QHBoxLayout *hLayout = new QHBoxLayout(this);
    hLayout->addWidget(spnBox);
    hLayout->addWidget(slider);

    connect(spnBox,static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged),slider,&QSlider::setValue);
    connect(slider,&QSlider::valueChanged,spnBox,&QSpinBox::setValue);
}

?第二行自定义的控件:具体操作就是在ui设计的相应位置放置一个Widget容器,右键Widget将其提升为我们自己定义的控件类。

//头文件
#ifndef SMALLWIDGET_H
#define SMALLWIDGET_H

#include <QWidget>

class smallWidget : public QWidget
{
    Q_OBJECT
public:
    explicit smallWidget(QWidget *parent = nullptr);

signals:

};

#endif // SMALLWIDGET_H


//源文件
#include "smallwidget.h"
#include <QLabel>
#include <QRadioButton>
#include <QHBoxLayout>

smallWidget::smallWidget(QWidget *parent) : QWidget(parent)
{
    QRadioButton *raoBtnYes = new QRadioButton(this);
    QRadioButton *raoBtnNo = new QRadioButton(this);

    QLabel *labelYes = new QLabel(this);
    labelYes->setText(QStringLiteral("同意规定"));
    QLabel *labelNo = new QLabel(this);
    labelNo->setText(QStringLiteral("不同意规定"));

    QHBoxLayout *hLayout = new QHBoxLayout(this);
    hLayout->addWidget(raoBtnYes);
    hLayout->addWidget(labelYes);
    hLayout->addWidget(raoBtnNo);
    hLayout->addWidget(labelNo);


}

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-04 13:12:48  更:2021-12-04 13:15:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 1:03:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码