问题列表 - 第25821页

C++以编程方式调整停靠的Qt QDockWidget的大小?

我刚刚开始研究一个新的C++/Qt项目.它将是一个基于MDI的IDE,带有停靠的小部件,用于文件树,对象浏览器,编译器输出等等.但是到目前为止,有一件事让我烦恼:我无法弄清楚如何以编程方式QDockWidget缩小.例如,此代码段创建了我的底部停靠窗口"构建信息":

m_compilerOutput = new QTextEdit;
m_compilerOutput->setReadOnly(true);
dock = new QDockWidget(tr("Build Information"), this);
dock->setWidget(m_compilerOutput);
addDockWidget(Qt::BottomDockWidgetArea, dock);
Run Code Online (Sandbox Code Playgroud)

启动时,我的程序看起来像这样(记住开发的早期阶段):

实际

但是,我希望它看起来像这样:

预期

我似乎无法实现这一点.QDockWidget上的Qt参考说明了这一点:

应在子窗口小部件中实现自定义大小提示,最小和最大大小和大小策略.QDockWidget将尊重它们,调整自己的约束以包含框架和标题.不应在QDockWidget本身上设置大小约束,因为它们会根据是否停靠而更改

现在,这表明执行此操作的一种方法是子类QTextEdit并覆盖该sizeHint()方法.但是,我不想仅仅为此目的这样做,我也没有尝试过它来找到一个有效的解决方案.

我试过打电话dock->resize(m_compilerOutput->width(), m_compilerOutput->minimumHeight()),m_compilerOutput->setSizePolicy()用它的每个选项打电话......到目前为止,没有任何东西影响了它的大小.就像我说的,我更喜欢在几行代码中使用一个简单的解决方案来创建一个只是为了改变的子类sizeHint().所有建议表示赞赏.

c++ qt resize qdockwidget

26
推荐指数
4
解决办法
3万
查看次数

如何使用grails jasper插件添加到JasperReports 3.7.2中的表组件?

我想使用grails jasper插件添加到JasperReports 3.7.2中的新表组件.我发现这个新组件对生成表很有用.

我已经定义了Table数据集1和一些字段(例如:$ F {name}),问题,我的所有字段值都是null.我还定义了字段(没有附加表),我得到了值.

这是我的表格代码:

<subDataset name="Table Dataset 1">
    <field name="name" class="java.lang.String"/>
    <field name="signal" class="java.lang.Double"/>
    ...
</subDataset>

<componentElement>
<reportElement key="table" style="table" x="0" y="0" width="802" height="50"/>
<jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Table Dataset 1">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
</datasetRun>
<jr:column width="90">
<jr:columnHeader style="table_CH" height="30" rowSpan="1">
<staticText>
<reportElement x="0" y="0" width="90" height="30"/>
<textElement/>
<text><![CDATA[Name]]></text>
</staticText>
</jr:columnHeader>
<jr:detailCell style="table_TD" height="20" rowSpan="1">
<textField>
<reportElement x="0" y="0" width="90" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
    ...
Run Code Online (Sandbox Code Playgroud)

我想,我的问题是由于这部分(我正在使用JREmptyDataSource):

<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource(1)]]></dataSourceExpression>
Run Code Online (Sandbox Code Playgroud)

但是如何才能获得<MODEL_DATA>Table组件?
(例如:chain(controller:'jasper',action:'index',model:[data:<MODEL_DATA>],params:params))

grails jasper-reports ireport grails-plugin

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

计算MD5哈希的CPU密集程度是否比SHA系列功能少?

在"标准"笔记本电脑x86硬件上计算MD5散列的CPU密集程度是否比SHA-1或SHA-2少?我对一般信息感兴趣,不是特定于某个芯片.

更新: 在我的情况下,我有兴趣计算文件的哈希值.如果文件大小很重要,我们假设它是300K.

hash md5 cryptography sha1 sha2

110
推荐指数
4
解决办法
10万
查看次数

GNU Diff的百分比值

使用diff来显示两个文件之间的百分比差异的好方法是什么?

例如,如果文件有100行,而副本有15行已更改,则diff-percent将为15%.

unix linux diff

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

如何以跨平台友好的方式处理C/C++中的Unicode字符串?

在不同于Windows的平台上,您可以轻松使用char *字符串并将其视为UTF-8.

问题是在Windows上,您需要使用wchar*字符串(W)接受和发送消息.如果您将使用ANSI函数(A),则不支持Unicode.

因此,如果您想编写真正的可移植应用程序,则需要在Windows上将其编译为Unicode.

现在,为了保持代码清洁,我想看看处理字符串的推荐方法是什么,这种方法可以最大限度地减少代码中的丑陋.

字符串的类型可能需要:std::string,std::wstring,std::tstring,char *,wchat_t *,TCHAR*,CString(ATL一个).

您可能遇到的问题:

  • cout/cerr/cin 和他们的Unicode变种 wcout,wcerr,wcin
  • 所有重命名的宽字符串函数和它们的TCHAR宏 - 比如strcmp,wcscmp_tcscmp.
  • 代码中的常量字符串,使用TCHAR,您必须使用_T()宏填充代码.

您认为哪种方法最好?(欢迎举例)

就个人而言,我会采取一种std::tstring方法,但我想看看如何对他们必要的转换做些什么.

windows string unicode cross-platform tchar

7
推荐指数
1
解决办法
4266
查看次数

在Linux机器上创建Windows(XP)安装程序?

我需要为我的Windows XP及更新版本的软件创建一个安装程序.是否有任何机制可以单独在Linux机器上执行此操作?(我正在运行ubuntu,但我猜这不是一个节目阻止者).

linux windows installer

5
推荐指数
1
解决办法
5768
查看次数

广义的可插入缓存模式?

鉴于它是计算机科学的难点之一,有没有人知道建立可插入缓存策略的方法?

我正在考虑的是允许我编写一个程序,只考虑需要缓存的内容(ei使用某种类型的样板,低成本/无成本模式,在任何我想要缓存的地方都可以编译)和然后当事情进一步发展并且我知道我需要缓存的地方时,我可以在不进行侵入式代码更改的情况下添加它.

作为我正在寻找的那种解决方案的想法; 我正在使用D编程语言(但中途理智的C++会很好)我​​喜欢模板.

c++ caching design-patterns d

8
推荐指数
1
解决办法
934
查看次数

跨浏览器CSS3规则

我有一个愚蠢的问题,

如果我想在支持CSS3的一些东西的浏览器中为一个元素添加圆角,我必须为每个浏览器重复几次样式,因为它是不同的?

例如:

         -moz-border-radius: 12px; /* FF1+ */
         -webkit-border-radius: 12px; /* Saf3+, Chrome */
          border-radius: 12px; /* Opera 10.5, IE 9 */
Run Code Online (Sandbox Code Playgroud)

这意味着,我必须为这个半径边框添加3种样式,不是吗?

css css3

5
推荐指数
1
解决办法
290
查看次数

在python中编写一个快速解析器

我已经为一个讲座中的一些文件格式(ARFF)编写了一个动手的递归纯python解析器.现在运行我的运动提交非常缓慢.到目前为止,我的解析器花费的时间最多.它消耗了大量的CPU时间,HD不是瓶颈.

我想知道在python中编写解析器的高效方法是什么?我宁愿不用C重写它.我试图使用jython,但这会降低性能!我解析的文件部分很大(> 150 MB),行很长.

我当前的解析器只需要预览一个字符.我会在这里发布消息来源,但我不知道这是不是一个好主意.在所有提交截止日期尚未结束之后.但是,本练习的重点不是解析器.您可以选择要使用的任何语言,并且已经有一个Java解析器.

注意:我有一个x86_64系统,所以psyco(似乎也是PyPy)是没有选择的.

更新:我现在将我的解析器/ 编写器上传到bitbucket.

python parsing arff

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

有没有一种使用Windows PowerShell停止进程的温和方法?

我必须从PowerShell脚本中停止浏览器,我将它通过管道输入

Stop-Process -Force
Run Code Online (Sandbox Code Playgroud)

但是,这是非常突然的.重新启动浏览器时,它会检测到它没有干净地关闭,并尝试重新启动上一个会话.有什么方法可以告诉它优雅地关闭自己?("我们有两种方法可以做到这一点......")

powershell

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