48-Qt控件详解:Buttons Containers2

一 Group Box:组合框

#include "widget.h"#include<QGroupBox>
#include<QRadioButton>
#include<QPushButton>
#include<QVBoxLayout>//可以在水平方向和垂直方向进行排列的控件,QHBoxLayout/QVBoxLayout
#include <QGridLayout>
#include <QCheckBox>#include <QMenu>Widget::Widget(QWidget *parent): QWidget(parent)
{//组合框1:gpb_1QGroupBox *gpb_1 = new QGroupBox("单选按钮组1");QRadioButton * rbtn_1 = new QRadioButton("RadioButton1");QRadioButton * rbtn_2 = new QRadioButton("RadioButton2");QRadioButton * rbtn_3 = new QRadioButton("RadioButton3");QVBoxLayout *vbly1 = new QVBoxLayout;vbly1->addWidget(rbtn_1);vbly1->addWidget(rbtn_2);vbly1->addWidget(rbtn_3);gpb_1->setLayout(vbly1);//组合框2:gpb_1QGroupBox *gpb_2 = new QGroupBox("复选按钮组2");//gpb_2->setCheckable(true);QCheckBox *cbx1 = new QCheckBox("checkbox1");QCheckBox *cbx2 = new QCheckBox("checkbox2");QCheckBox *cbx3 = new QCheckBox("checkbox3");//全选,半选,未选cbx2->setTristate(true);//设置支持半选状态,默认不支持班选态cbx2->setChecked(true);QVBoxLayout *vbly2 = new QVBoxLayout;vbly2->addWidget(cbx1);vbly2->addWidget(cbx2);vbly2->addWidget(cbx3);gpb_2->setLayout(vbly2);//组合框3:gpb_3QGroupBox *gpb_3 = new QGroupBox("单选按钮和复选按钮组3");gpb_3->setCheckable(true);QRadioButton * rbtn_31 = new QRadioButton("RadioButton31");QRadioButton * rbtn_32 = new QRadioButton("RadioButton32");QRadioButton * rbtn_33 = new QRadioButton("RadioButton33");QCheckBox *cbx4 = new QCheckBox("checkbox4");cbx4->setCheckable(true);QVBoxLayout *vbly3 = new QVBoxLayout;vbly3->addWidget(rbtn_31);vbly3->addWidget(rbtn_32);vbly3->addWidget(rbtn_33);vbly3->addWidget(cbx4);gpb_3->setLayout(vbly3);//组合框4:gpb_4QGroupBox *gpb_4 = new QGroupBox("综合按钮组3");gpb_4->setCheckable(true);QPushButton * pbtn_4 = new QPushButton("QPushButton4");QPushButton * pbtn_5 = new QPushButton("QPushButton5");pbtn_5->setCheckable(true);QPushButton * pbtn_6 = new QPushButton("QPushButton6");//命令按钮添加子菜单QMenu *mu = new QMenu(this);mu->addAction("King");mu->addAction("Darren");mu->addAction("Mark");mu->addAction("Vico");pbtn_6->setMenu(mu);QVBoxLayout *vbly4 = new QVBoxLayout;vbly4->addWidget(pbtn_4);vbly4->addWidget(pbtn_5);vbly4->addWidget(pbtn_6);gpb_4->setLayout(vbly4);QGridLayout *gdlyout = new QGridLayout;gdlyout->addWidget(gpb_1,0,0,1,1);gdlyout->addWidget(gpb_2,0,1,1,1);gdlyout->addWidget(gpb_3,1,0,1,1);gdlyout->addWidget(gpb_4,1,1,1,1);this->setLayout(gdlyout);
}Widget::~Widget()
{
}

 

二 Scroll Area:滚动区域。

#include "widget.h"#include <QApplication>#include <QLabel>
#include <QScrollArea>
#include <QGridLayout>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.resize(300,200);/** QScrollArea当中有很多功能继承来自于QAbstractScrollArea* 滚动条外观是否漂亮取决于当前滚动条策略,有时间大家可以研究一下,查官网**/QLabel *qljpg =  new QLabel;qljpg->setScaledContents(true);QImage imagejpg(":/new/prefix1/Saved Pictures/02.jpg");qljpg->setPixmap(QPixmap::fromImage(imagejpg));QScrollArea *sArea = new QScrollArea;//根据窗口比例显示出来//sArea->setWidgetResizable(true);//居中sArea->setAlignment(Qt::AlignCenter);sArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);sArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);sArea->setWidget(qljpg);QGridLayout *glayout = new QGridLayout;glayout->addWidget(sArea);w.setLayout(glayout);w.show();return a.exec();
}

三Tab Widget:标签小部件。 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Adobe Premiere Pro v24.3.0 解锁版 (领先的视频编辑软件)

Adobe系列软件安装目录 一、Adobe Photoshop PS 25.6.0 解锁版 (最流行的图像设计软件) 二、Adobe Media Encoder ME v24.3.0 解锁版 (视频和音频编码渲染工具) 三、Adobe Premiere Pro v24.3.0 解锁版 (领先的视频编辑软件) 四、Adobe After Effects AE v24.3.0 解锁版 (视…

读人工智能时代与人类未来笔记02_技术变革

1. 目标 1.1. AlphaZero的目标是在遵守规则的前提下赢得国际象棋比赛 1.2. 发现Halicin的人工智能的目标是灭杀尽可能多的致病菌&#xff1a;它在不伤害宿主的情况下灭杀的致病菌越多&#xff0c;就越成功 1.2.1. 人工智能成功了&#xff0…

添砖Java之路(其四)——面向对象的编程,类和对象

目录 前言&#xff1a; 面向对象的编程&#xff1a; this关键字&#xff1a; 构造方法&#xff1a; 前言&#xff1a; 其实中间我还有很多地方没有去讲&#xff0c;因为我觉得里面的很多东西和c/c差不太多&#xff0c;就比如逻辑运算&#xff0c;方法重载&#xff0c;以及数…

解决SpringBoot整合MyBatis和MyBatis-Plus,请求后不打印sql日志

问题发现 在整合springBootmyBatis时&#xff0c;发现请求不打印sql日志&#xff0c;示例代码如下&#xff1a; RestController public class MyController {AutowiredProductMapper productMapper;GetMapping("/test")public void test() {System.out.println(&qu…

原有系统是Windows7,想另外安装一个Windows10作为双系统

前言 上次小白分享了Windows10Windows10的双系统方案&#xff0c;在这个安装的过程中也是写得比较明白&#xff0c;如果需要安装双Windows10系统的小伙伴可以点击下方蓝字跳转&#xff1a; 双Windows10系统安装教程&#xff08;点我跳转&#xff09; 今天小白来分享一下&…

【Linux】多线程相关第一篇:从进程谈起理解线程概念

文章目录 为什么需要线程初步认识Linux线程Linux操作系统的线程为什么要这么设计进程、线程关系梳理理解线程是CPU调度的基本单位简单认识多执行流如何划分代码 为什么需要线程 线程和进程的关系密不可分。 操作系统教材对于进程、线程的概念是这样描述的&#xff1a; 进程是…

linux不小心将/etc/passwd用户文件清空或删除解决方法

大概思路&#xff1a;进入单用户模式将passwd-引子程序复制为删除的passwd用户文件&#xff0c;关闭selinux 此系统为&#xff1a;centos 7 1.在GRUB引导的时候按e进入编辑模式&#xff0c;linux16那一行的ro 修改为rw rd.break ‘ ’ 2.ctrlx执行 3.进入单用户模式后修改根…

Apache访问控制与虚拟主机

目录 一. Web服务简介 以下是一些 Web 服务的基本概念和特征 以下是一些主流的 Web 服务器 WEB 服务协议 二. Apache 服务的搭建与配置 2.1 Apache 介绍 2.2 Apache安装 2.3 Apache目录介绍 三. 访问控制 四. 修改默认网站发布目录 五. 虚拟主机 5.1 基于域名的虚拟…

必知必会:Java Map接口的灵活应用

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

韵搜坊(全栈开发)-- 项目介绍

文章目录 项目介绍技术栈前端后端 业务流程 后端地址&#xff1a; https://github.com/IMZHEYA/zhesou-backend 前端地址&#xff1a; https://github.com/IMZHEYA/zhesou-frontend 图标设计&#xff08;AI生成&#xff09;&#xff1a; 项目介绍 一个聚合搜素平台&#xff…

linux性能监控之lsof

lsof&#xff1a;list open files&#xff0c;显示所有打开的文件以及进程信息&#xff0c;我们通常用来检查特定的文件被哪些进程打开 [rootk8s-master ~]# lsof --help lsof: illegal option character: - lsof: -e not followed by a file system path: "lp" lso…

【Python探索之旅】选择结构(条件语句)

文章目录 条件结构&#xff1a; 1.1 if单分支结构 1.2 if-else 多分支结构 1.3 if-elif 多重结构&#xff1a; 完结撒花​ 前言 Python条件语句是通过一条或多条语句的执行结果&#xff08;True或者False&#xff09;来决定执行的代码块。 Python提供了顺序、选择、循环三…