lv20 QT 常用控件 2

1 QT GUI 类继承简介

布局管理器

输出控件

输入控件

按钮

容器

2 按钮示例

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QCheckBox>
#include <QLineEdit>
#include <QPushButton>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
private slots:void setpass(bool flag);
private:QLineEdit *le;QCheckBox *ck;QPushButton *pb;};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{le = new QLineEdit;le->setEchoMode(QLineEdit::Password);   //显示模式为密码ck = new QCheckBox("show Password");pb = new QPushButton("clear");QVBoxLayout *vbox = new QVBoxLayout;vbox->addWidget(le);vbox->addWidget(ck);vbox->addWidget(pb);this->setLayout(vbox);connect(pb, SIGNAL(clicked(bool)), le , SLOT(clear()));connect(ck, SIGNAL(clicked(bool)), this , SLOT(setpass(bool)));  //点击chechbox会显示密码,setpass(bool) 是接收信号的对象的槽函数,所以用this
}void Widget::setpass(bool flag)
{if(!flag)le->setEchoMode(QLineEdit::Password);elsele->setEchoMode(QLineEdit::Normal);
}Widget::~Widget()
{}

效果 

3 容器

3.1 Group box

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QGroupBox>
#include <QRadioButton>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();private:QGroupBox *gb;QRadioButton *r1, *r2, *r3;
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{gb = new QGroupBox("choice", this);r1 = new QRadioButton("aaaa");r2 = new QRadioButton("bbbb");r3 = new QRadioButton("cccc");QVBoxLayout *vbox = new QVBoxLayout;vbox->addWidget(r1);vbox->addWidget(r2);vbox->addWidget(r3);gb->setLayout(vbox);QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(gb);this->setLayout(mainbox);
}Widget::~Widget()
{}

效果

3.2 ScrollArea

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QLabel>
#include <QScrollArea>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
private:QLabel *lb;QScrollArea *sa;
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{//创建一个 QLabel 控件,并将一张名为 "1.jpg" 的图片显示在该 QLabel 上。lb = new QLabel(this);QPixmap pix("1.jpg");  //加载图片lb->setPixmap(pix);sa = new QScrollArea(this);sa->setWidget(lb);QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(sa);this->setLayout(mainbox);
}Widget::~Widget()
{}

 效果

3.3 TabWidget

管理多个标签页(Tab)的容器控件。它提供了一个便捷的方式来显示和切换多个页面

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTabWidget>
#include <QTextEdit>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
private:QTabWidget *tw;QTextEdit *te1, *te2, *te3;
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{tw = new QTabWidget;te1 = new QTextEdit("11111111");te2 = new QTextEdit("112221111");te3 = new QTextEdit("11113333");tw->addTab(te1, "1.c");tw->addTab(te2, "2.c");tw->addTab(te3, "3.c");QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(tw);this->setLayout(mainbox);
}Widget::~Widget()
{}

效果 

3.4 StackedWidget

堆叠窗口控件,可以用来管理多个子部件,但一次只能显示其中一个子部件

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QStackedWidget>
#include <QTextEdit>
#include <QComboBox>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();private:QStackedWidget *sw;QTextEdit *te1, *te2, *te3;QComboBox *cb;};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{sw = new QStackedWidget;te1 = new QTextEdit("aaaa");te2 = new QTextEdit("aaadsfasdfasdfa");te3 = new QTextEdit("aaasdfaaa");sw->addWidget(te1);sw->addWidget(te2);sw->addWidget(te3);cb = new QComboBox;cb->addItem("1111");cb->addItem("2222");cb->addItem("3333");QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(sw);mainbox->addWidget(cb);this->setLayout(mainbox);connect(cb, SIGNAL(activated(int)), sw, SLOT(setCurrentIndex(int)));
}Widget::~Widget()
{}

效果

3.5 Toolbox

折叠面板控件,通常用于显示多个分组的相关内容

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QToolBox>
#include <QPushButton>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = 0);~Widget();
private:QToolBox *tb;QPushButton *pb[3];
};#endif // WIDGET_H
#include "widget.h"
#include <QVBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent)
{tb = new QToolBox;pb[0] = new QPushButton("aaa");pb[1] = new QPushButton("bbb");pb[2] = new QPushButton("ccc");tb->addItem(pb[0], "11111");tb->addItem(pb[1], "22222");tb->addItem(pb[2], "33333");QVBoxLayout *mainbox = new QVBoxLayout;mainbox->addWidget(tb);this->setLayout(mainbox);
}Widget::~Widget()
{}

效果(类似消息框)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2821962.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode142. 环形链表 II刷题详解

今天力扣刷到了一个特别有意思的题目&#xff0c;于是就写了下面的题解来加深以下理解。 142. 环形链表 II - 力扣&#xff08;LeetCode&#xff09; 这个可以分为两大步去写&#xff0c;首先要判断链表是否有环&#xff0c;然后如果有环就去找到环的入口&#xff0c;没有环返…

几种经典的支持数据库的表单设计器参考

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a; http://122.227.135.243:9666 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbach…

38女神节送礼攻略:送给女友的5款超值礼物推荐,避免雷区!

女神节&#xff0c;又称为国际妇女节&#xff0c;是一个向女性表达尊重和爱意的特殊日子。对于那些正在寻找送给女友的理想礼物的人来说&#xff0c;这一天无疑是一个重要的时刻。为了帮助你在这个特别的日子里给你的女友留下深刻的印象&#xff0c;我们精心挑选了5款超值且实用…

MacBook将iPad和iPhone备份到移动硬盘

#创作灵感# 一个是ICloud不够用&#xff0c;想备份到本地&#xff1b;然而本地存储不够用&#xff0c;增加容量巨贵&#xff0c;舍不得这个钱&#xff0c;所以就想着能不能备份到移动硬盘。刚好有个移动固态&#xff0c;所以就试了一下&#xff0c;还真可以。 #正文# 说一下逻…

JAVA的学习日记

JAVA的学习日记&#xff08;2024.3.1&#xff09;&#xff08;b站韩顺平老师课程学习笔记版&#xff09; ps:捡起忘光光的Java语言 Sublime //1. public是公有&#xff0c;class是类 //2. public class Hello表示Hello是一个类&#xff0c;是一个public公有的类 //3. Hello{…

【王道数据结构】【chapter8排序】【P371t5】

编写一个算法&#xff0c;在基于单链表表示的待排序关键字序列上进行简单选择排序 #include <iostream> #include <time.h> #include <stdlib.h> typedef struct node{int data;struct node *next; }node,*pnode;pnode buynode(int x) {pnode tmp(pnode) mal…

信号系统之快速傅里叶变换

1 使用复数DFT的实数DFT 本文的主题&#xff0c;如何使用 FFT 计算真正的 DFT&#xff1f; 由于 FFT 是一种用于计算复数 DFT 的算法&#xff0c;因此了解如何将实数 DFT 数据输入和输出复数 DFT 格式非常重要。图 12-1 比较了实数 DFT 和复数 DFT 存储数据的方式。实数 DFT …

LNMP架构介绍及配置--部署Discuz社区论坛与wordpress博客

一、LNMP架构定义 1、LNMP定义 LNMP&#xff08;Linux Nginx Mysql Php&#xff09;是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写&#xff1b;Linux系统下NginxMySQLPHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称&#xff0c;是目…

线性规划在多种问题形式下的应用

线性规划的用处非常的广泛,这主要是因为很多类型的问题是可以通过转化的方式转化为线性规划的问题。例如需要再图论中寻找起始点到给定的点的最短路径问题: 添加图片注释,不超过 140 字(可选) 假设要计算从节点0到节点4的最短路径,用变量d1到d4来表示节点0到节点1,2,3,…

HTML5+CSS3+JS小实例:右键菜单

实例:右键菜单 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"> <head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><met…

插混、油混、增程式、轻混、强混,啥区别

这里写自定义目录标题 随着我国新能源汽车的大力推进&#xff0c;电车可以说是世界未来的主流&#xff0c;只不过现在是处在一个过渡时代 这是个好时代&#xff0c;因为我们见证并体验着历史过渡的细节 这是个不好的时代&#xff0c;因为我们可能只是未来新新人类的试验品 帮他…

javascript中的class基础入门(1)

javascript中的class start 最近在学习&#xff1a;cocos &#xff0c;准备自己制作小游戏。过程中遇到不少疑问&#xff0c;我计划将这些疑问写成一个系列博客&#xff0c;用以记录。这篇文章来了解 class 1. 前言 1. 前言 本文对应版本 Cocos Creator 3.8。Cocos Creato…

mysql-Synch-clickhouse

Synch GitHub - long2ice/synch: Sync data from the other DB to ClickHouse(cluster) 环境&#xff1a; mysql5.7 redis > 5.0 clickhouse21.2 postgresql python3 binlog_formatrow XREAD default pg_config synch 1&#xff1a;安装clickhouse rpm下载地址&…

今日arXiv最热大模型论文:点击即可播放!港中文发布大模型写歌神器!

一首歌&#xff0c;包含作词作曲两个部分。擅长作词or作曲就已经很牛了。比如方文山是周杰伦的御用作词人&#xff0c;而周杰伦写过很多耳熟能详的曲子。而兼具作词作曲才华的全能创作人却是难得一见。 最近港中文发布了一款歌曲创作大模型SongComposer&#xff0c;作词作曲都…

DiskMirror-spring-boot-starter 技术|

DiskMirror-spring-boot-starter 技术 diskMirror 实现了 SpringBoot 的 starter 能够集成到 SpringBoot 中。 DiskMirror 的 starter&#xff0c;通过引入此类&#xff0c;可以直接实现 diskMirror 在 SpringBoot 中的自动配置&#xff0c;接下来我们将使用案例逐步的演示 d…

飞腾平台编译安装openGauss数据库

1. 环境检查 1.1 检查OS版本 openGauss支持的操作系统&#xff1a; CentOS 7.6&#xff08;x86_64 架构&#xff09;openEuler-20.03-LTS&#xff08;aarch64 架构&#xff09;openEuler-20.03-LTS&#xff08;x86_64架构&#xff09;Kylin-V10&#xff08;aarch64 架构&…

作业1-224——P1015 [NOIP1999 普及组] 回文数

题目描述 思路 首先此题为一道高精度题&#xff0c;然后本题按照题目意思模拟即可。我们可以开两个数组来记录高精度数字&#xff0c;这样方便我们处理。判断“该数组是否回文”、“c翻转存入d再做cd”可以写成两个单独的函数。然后主程序组织一下他们即可。注意好退出循环的…

String类的使用

String常用的构造方法 String的源码 内部是一个数组和hash值&#xff0c;涉及到常量池后续补充&#xff08;常量池&#xff1a;存储相同的字符时只会存储一租&#xff09; String的比较 equals()与&#xff1a;String里面为我们提供了许多方法&#xff0c;可直接调用&#xf…

electron 项目环境变量使用注意 public

问题 最近项目中&#xff0c;electron需要调用唤醒本地的另一个客户端程序&#xff0c;但是这个客户端程序报错了。sqlite3 报out of memory. apiSHGetFolderPathW 获取CSIDL_COMMON_DOCUMENTS报 1008&#xff0c;试图引用不存在的令牌。 排查 一看到这个&#xff0c;首先想…

苍穹外卖Day03——解决总结3中存在的问题

解决Day03中存在的问题 1. ResponseBody 与 RequestBody2. RequestParam 与 PathVariable3. 字段填充技术&#xff08;注解、AOP、反射&#xff09;3.1. AOP3.2. 注解3.3. 反射3.5 字段填充在项目应用 4. 阿里云云存储OOS 1. ResponseBody 与 RequestBody ResponseBody&…