首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >固定大小的按网格布局的按钮,预定义行/科尔数

固定大小的按网格布局的按钮,预定义行/科尔数
EN

Stack Overflow用户
提问于 2017-03-10 12:55:27
回答 1查看 50关注 0票数 0

我有个-也许有点不寻常的-问题:

我有一个QTabWidget。应用程序从数据源读取记录。记录包含一个“pos”和“pos”字段(除其他信息外),应用程序应为每条记录在网格位置(x,y)的选项卡页上放置一个按钮。这些按钮有一个“固定”大小,由用户选择,这是通过一个Config对象从ini文件中读取的。如果这个“按钮网格”变得太大,对于选项卡页的空间,滚动条将出现。

首先,我认为这是非常简单和直截了当的。就像“把一个QScrollarea放在标签页上,把一个QGridLayout放到这个QScrollArea中。就是这样”。但后来我意识到这绝不是简单的事情。

据我所知,Qt的“布局和养育”正好相反。(如果我错了,请纠正我!)“通常”,周围的小部件大小它包含的布局管理器(例如QGridLayout),然后布局管理器大小它包含的孩子。

但我认为,我需要“相反的方向”。我有固定大小的按钮,需要由m列组成n行的网格,这将导致整个网格布局的大小。如果整个布局不合适,scrollarea将激活它的滚动条。

所以,我现在有点迷上了这个谜,想知道如何“正确”地做到这一点。也许有人能把我踢向正确的方向?

非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-03-10 14:34:02

你想要什么?如果是,尝试在滚动区域设置小部件,而不是布局。在小部件上按下按钮。

然后,如果您的意思是pos和pos是绝对的,则不需要在小部件上设置任何布局。只需创建一个子按钮并根据需要设置它们的几何图形:

代码语言:javascript
运行
AI代码解释
复制
// Suppose we read this info from a config file
int pbWidth = 150, pbHeight = 30;
// and this one from a datasource
QVector<QPoint> positions;
positions.push_back(QPoint(10, 10));
positions.push_back(QPoint(50, 50));
positions.push_back(QPoint(210, 30));

QTabWidget *tabWidget = new QTabWidget();
QScrollArea *scrollArea = new QScrollArea();
QWidget *scrollAreaWidget = new QWidget();

// We put a container widget inside the scroll area
scrollArea->setWidget(scrollAreaWidget);
// then we add the scroll area as the tab
tabWidget->addTab(scrollArea, tr("Tab 1"));

// Now let's put some push buttons on the widget
for (QVector<QPoint>::ConstIterator i = positions.cbegin();
     i != positions.cend(); i++)
{
  QString text = tr("Button at %1x%2").arg(i->x()).arg(i->y());
  // We have to pass the parent to the constructor
  // to place pb on the widget 
  QPushButton *pushButton = new QPushButton(text, scrollAreaWidget);

  // Here we set position and size
  pushButton->setGeometry(i->x(), i->y(), pbWidth, pbHeight);
}

// We have no layout on the widget, so don't forget to adjust size
scrollAreaWidget->adjustSize();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42727573

复制
相关文章
为什么要初始化?
什么是初始化?为什么要初始化?静态变量和局部变量的初始化又有什么区别?实际应用中应该怎么做?本文将一一回答这些问题。
编程珠玑
2019/07/12
5.4K0
为什么要初始化?
实例变量的懒初始化
今天遇到一个很有趣的问题,由于业务要求,需要懒初始化一个实例变量。 简单方法 很顺手就写出下面的代码。 public class LazyFieldInitializer { private Object obj = null; public LazyFieldInitializer(){ } public void someOp(){ if(obj == null){ obj = new Object(); }
jeremyxu
2018/05/10
2K0
dotnet core 发布只带必要的依赖文件
在使用 dotnet core 发布独立项目的时候,会带上大量依赖的库,但是通过微软提供的工具可以去掉一些在代码没有用到的库。
林德熙
2022/08/04
2310
dotnet core 发布只带必要的依赖文件
在使用 dotnet core 发布独立项目的时候,会带上大量依赖的库,但是通过微软提供的工具可以去掉一些在代码没有用到的库。
林德熙
2019/03/13
1.5K0
深度学习: 参数初始化
好的开始是成功的一半。 为了让你的模型跑赢在起跑线 ε=ε=ε=(~ ̄▽ ̄)~ ,请慎重对待参数初始化。
JNingWei
2018/09/27
1.5K0
深度学习: 参数初始化
我为什么要创建一个不能被实例化的类
Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。为了保留多继承的优点,但又摒除缺点,于是有了混入这种编程模式。
青南
2020/04/08
3.4K0
我为什么要创建一个不能被实例化的类
深度模型的优化参数初始化策略
有些优化算法本质上是非迭代的,只是求解一个解点。有些其他优化算法本质上是迭代的,但是应用于这一类的优化问题时,能在可接受的时间内收敛到可接受的解,并且与初始值无关。深度学习训练算法通常没有这两种奢侈的性质。深度学习模型的训练算法通常是迭代的,因此要求使用者指定一些开源迭代的初始点。此外,训练深度模型的训练算法通常是迭代的问题,以至于大多数算法都很大程度地受到初始化选择的影响。初始点能够决定算法是否收敛时,有些初始点十分不稳定,使得该算法会遭遇数值困难,并完全失败。当学习收敛时,初始点可以决定学习收敛得多快,以及是否收敛到一个代价高或低的点。此外,差不多代价的点可以具有区别极大的泛化误差,初始点也可以影响泛化。
狼啸风云
2019/09/18
2.2K0
深度模型的优化参数初始化策略
【Rust问答】要如何实现一个全局变量的初始化(单例)
Mutex::new(None); static 变量中又不允许出现 非 const fn,怎么能实现这个需求呢
MikeLoveRust
2020/03/25
2.6K0
Java 静态属性与实例属性的初始化
类的初始化包括静态属性的初始化和实例属性的初始化,在加载类过程中的准备阶段会给静态属性分配存储空间,并根据属性的类型设置初始值,例如 int 类型静态属性会设置初始值为 0,布尔类型静态属性会设置初始值为 false;实例属性的初始化会在构造实例对象时发生。
zhipingChen
2019/05/08
2.4K0
神经网络参数初始化方法
神经网络的训练过程中的参数学习是基于梯度下降法进行优化的。梯度下降法需要在开始训练时给每一个参数赋一个初始值。这个初始值的选取十分关键。一般我们希望数据和参数的均值都为 0,输入和输出数据的方差一致。在实际应用中,参数服从高斯分布或者均匀分布都是比较有效的初始化方式。  所以理想的网络参数初始化是很重要的,但是现在框架都定义了很多参数初始化方式,可以直接调用,比如tensorflow的变量初始化方式如下:  initializer:是变量初始化的方式,初始化的方式有以下几种:
嵌入式视觉
2022/09/05
2K0
神经网络参数初始化方法
实例详解ulimit每个参数
core file size是限制core文件的大小,默认情况下是0,就是没有打开的,ulimit -c参数代表core file size,单位是blocks,一个blocks是1024个字节
李俊鹏
2020/07/14
9.2K0
周末重温——TensorFlow之参数初始化
CNN中最重要的就是参数了,包括W和b。训练CNN的最终目的就是得到最好的参数,使得目标函数取得最小值。参数的初始化也同样重要,因此微调受到很多人的重视。tf提供的所有初始化方法都定义在tensorflow/python/ops/init_ops.py。
lujohn3li
2021/06/10
1.1K0
pytorch和tensorflow的爱恨情仇之参数初始化
当然还有一些像:torch.zeros()、torch.zeros_()、torch.ones()、torch.ones_()等函数;
西西嘛呦
2020/10/10
1.5K0
源码走读rgw内置civetweb的参数初始化过程
1. 初始化civetweb时刻的参数传递 src/civetweb/civetweb.h /* Start web server. Parameters: callbacks: mg_callbacks structure with user-defined callbacks. options: NULL terminated list of option_name, option_value pairs that specify Civetwe
用户1260683
2018/01/31
2K1
返璞归真:如何判断一个初始化参数是否来自默认设置
杨廷琨(yangtingkun) 云和恩墨 CTO 高级咨询顾问,Oracle ACE 总监,ITPUB Oracle 数据库管理版版主 Oracle初始化参数之多,变化之繁复可能,我们又如何去分辨哪
数据和云
2018/03/06
8200
返璞归真:如何判断一个初始化参数是否来自默认设置
如何正确初始化神经网络的权重参数
近几年,随着深度学习的大火,越来越多的人选择去入门、学习、钻研这一领域,正确初始化神经网络的参数对神经网络的最终性能有着决定性作用。如果参数设置过大,会出现梯度爆炸的现象,导致网络训练过程发散;而如果参数设置过小,会出现梯度消失的现象,导致收敛极其缓慢。本文是作者拜读Xavier Glorot于2016年在ICML上发表的《Understanding the difficulty of training deep feedforward》及Katanforoosh & Kunin的“Initializing neural networks”后的读书笔记。
用户1621951
2020/02/28
3.4K0
如何正确初始化神经网络的权重参数
人生要找对路,代码要找对路口 | argparse实例详解
刚开始在GitHub找别人源码的时候,经常遇到一个开源项目有好多star,但却不知道怎么用,因为我不懂入口在哪,现在不一样了,我膨胀了。。。不,我学会了这个,而且还发现了一个超叼的东西,准备下周整理一下发出来,超叼的分类器集合,我调试好之后会说明如何使用,敬请期待哈哈哈~~~~
AI算法与图像处理
2019/05/22
6110
隐含层权重参数的初始化方式的对比实验
全1或全0初始化 全1或全0初始化的训练效果 After 858 Batches (2 Epochs): Validation Accuracy 11.260% -- All Zeros
linxinzhe
2018/04/10
9540
隐含层权重参数的初始化方式的对比实验
MYSQL 8 一个实例打开的表被那些参数和资源限制 分析
再开始这个问题之前,我们先的准备一下环境, mysql 8.027 8G 内存 SSD 磁盘 4核心CPU 。同时通过sysbench来对系统进行测试数据的填充。
AustinDatabases
2021/12/20
7110
MYSQL  8  一个实例打开的表被那些参数和资源限制 分析
点击加载更多

相似问题

object.__init__()只带一个参数(初始化实例)

10

Kivy Error: object.__init__()在使用KivyMD时只接受一个参数(要初始化的实例)

10

object.__init__()只接受一个参数(要初始化的实例)

2109

来自Python3的collections.namedtuple: TypeError: object.__init__()继承只带一个参数(要初始化的实例)

110

object.__init__()只接受一个参数(要初始化的实例)

155
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文