小编Tri*_*ion的帖子

在隐藏子项时调整qt小部件的大小

当重试子项被隐藏时,我将如何调整窗口小部件的大小,使其看起来像在第一个图像中?主要布局是QVBoxLayout,重试子是一个带有QVBoxLayout的小部件.

我尝试过以下方法:

  • 更新()
  • updateGeometry()
  • setGeometry(childrenRect())
  • 布局() - >激活()

一旦我将重试小部件设置为隐藏,就在主小部件上.我是否需要拦截某些事件才能执行此操作?

qt resize qwidget

15
推荐指数
2
解决办法
1万
查看次数

如何用h5py区分HDF5数据集和组?

我使用Python包h5py(版本2.5.0)来访问我的hdf5文件.

我想遍历文件的内容并对每个数据集执行某些操作.

使用visit方法:

import h5py

def print_it(name):
    dset = f[name]
    print(dset)
    print(type(dset))


with h5py.File('test.hdf5', 'r') as f:
    f.visit(print_it)
Run Code Online (Sandbox Code Playgroud)

对于我获得的测试文件:

<HDF5 group "/x" (1 members)>
<class 'h5py._hl.group.Group'>
<HDF5 dataset "y": shape (100, 100, 100), type "<f8">
<class 'h5py._hl.dataset.Dataset'>
Run Code Online (Sandbox Code Playgroud)

这告诉我文件中有一个数据集和一个组.然而,除了用于type()区分数据集和组之外,没有明显的方法.遗憾的是,h5py文档没有说明这个主题.他们总是假设您事先知道什么是组以及数据集是什么,例如因为他们自己创建了数据集.

我希望有类似的东西:

f = h5py.File(..)
for key in f.keys():
    x = f[key]
    print(x.is_group(), x.is_dataset()) # does not exist
Run Code Online (Sandbox Code Playgroud)

在使用h5py读取Python中的未知hdf5文件时,如何区分组和数据集?如何获取所有链接中所有组的所有数据集的列表?

python hdf5 h5py

15
推荐指数
2
解决办法
9929
查看次数

检测到Swig/Python内存泄漏

我有一个非常复杂的类,我试图在SWIG中创建Python包装器.但是,当我在Python中创建项目的实例时,我无法在没有收到消息的情况下初始化某些数据成员:

>>> myVar = myModule.myDataType()
swig/python detected a memory leak of type 'MyDataType *', no destructor found.
Run Code Online (Sandbox Code Playgroud)

有谁知道我需要做些什么来解决这个问题?有没有我可以用来生成析构函数的标志?

python swig memory-leaks

14
推荐指数
2
解决办法
9929
查看次数

句柄和值类的差异

我有一些C++背景,并希望在Matlab中使用类.

句柄和值类有什么区别?

我知道如果我想用重载运算符(如"+"和"*")定义矩阵类,我会使用值类.但是,有时似乎只有当我选择一个句柄类时,事情才对我有用.

oop matlab

14
推荐指数
1
解决办法
4976
查看次数

如何创建requirements.txt?

我想知道如何为我的Python 3应用程序创建合适的requirements.txt?

python pip requirements.txt

14
推荐指数
3
解决办法
1万
查看次数

从QGridLayout中删除小部件

我尝试从这样的指定行中删除小部件QGridLayout:

void delete_grid_row(QGridLayout *layout, int row)
{
    if (!layout || row < 0) return;

    for (int i = 0; i < layout->columnCount(); ++i) {
        QLayoutItem* item = layout->itemAtPosition(row, i);
        if (!item) continue;

        if (item->widget()) {
            layout->removeWidget(item->widget());
        } else {
            layout->removeItem(item);
        }
        delete item;
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当我调用它时,应用程序delete item在第一次迭代中与SIGSEGV崩溃.有任何想法吗?

c++ qt qgridlayout

13
推荐指数
1
解决办法
2万
查看次数

为什么我需要"sys.argv"在PyQt中启动QApplication?

我试着理解PyQt的作用.我没有做过的第一件事就是:

QApplication(sys.argv)
Run Code Online (Sandbox Code Playgroud)

为什么我必须给QApplication这个论点?我知道是什么sys.argv呢.但在我的脚本中,我不需要它.

python pyqt command-line-arguments qapplication

13
推荐指数
2
解决办法
5990
查看次数

如何在没有任何重定向配置的情况下使TCP服务器在路由器(NAT)后面工作

场景如下.我有两台机器A和B:A:客户端(NAT后面)B:服务器(NAT后面)

我希望B能够侦听任何给定的端口,以便A可以通过该特定的TCP端口向B发送数据包并接收任何响应.如果两台机器都不在NAT后面,那么这是一个非常直接的过程.但是,我如何使其工作,以便即使B在路由器后面,它没有他必须改变路由器配置启用一些端口转发等工作...

例如,如果没有用户配置任何东西,像torrent客户端这样的点对点程序如何工作?

networking p2p tcp nat

11
推荐指数
2
解决办法
7974
查看次数

我如何获得具有功能bar3和每个条形宽度不同的条形图?

我有代码:

values = [1.0 0.6 0.1;  0.0 1.0 0.3;  0.9 0.4 1.0];
h = bar3(values);
shading interp
for i = 1:length(h)
    % Get the ZData matrix of the current group
    zdata = get(h(i),'Zdata');
    set(h(i),'Cdata',zdata)
end
set(h,'EdgeColor','k')
view(-61, 68);
colormap cool
colorbar
Run Code Online (Sandbox Code Playgroud)

这就是图中的样子:

在此输入图像描述

我想根据条的高度为每个条获得不同的宽度.

我想要的看起来像http://www.sdtools.com/help/ii_mac.html中的图片.

blah http://www.sdtools.com/help/mac.gif

graphics matlab graph width matlab-figure

11
推荐指数
1
解决办法
1218
查看次数

结果"a是a是a"比较

A = 314

if A == A == A:
    print('True #1')

if A == A == 271:
    print('True #2')

lie = 0
if lie is lie is lie:
    print('no matter how white, how small,')
    print('how incorporating of a smidgeon')
    print('of truth there be in it.')
Run Code Online (Sandbox Code Playgroud)

结果:

True #1
no matter how white, how small,
how incorporating of a smidgeon
of truth there be in it.
Run Code Online (Sandbox Code Playgroud)

我知道在if句子中使用两个"="和"是"是不正常的.但我想知道Python解释器如何解释该if语句.

表达式是lie is lie is lie同时解释还是短路方式?

python

11
推荐指数
2
解决办法
896
查看次数