小编wal*_*ous的帖子

如何从Qt应用程序创建pdf文件?

在我的Qt应用程序中,我正在进行一些网络测试.我必须根据测试输出创建一个报告.所以我需要以pdf格式创建报告.

有人可以告诉我如何将我的测试结果放在pdf文件中吗?我的结果包含使用Qwt库的图表.

pdf graph qt4 qwt qprinter

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

如何设置QListWidgetItem的最小高度?

如何设置最小高度QListWidgetItem?我正在使用QListWidget::setItemWidget()一个自定义的小部件,虽然我明确声明了我的自定义小部件的最小高度,但这些QListWidgetItem仍然具有相当低的高度属性.

qt qlistwidget qlistview

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

在 OAuth 2 中,为什么在有授权码的情况下还需要访问令牌?

在 OAuth 2 中,客户端应用程序用授权代码交换访问令牌。通过访问令牌,应用程序可以进行 API 调用。但是,我不太明白为什么 OAuth 2 有这一步;这似乎是一个额外的步骤。

我能想到的一个原因是授权代码是通过客户端的重定向调用给出的,因此它有可能被泄露,因此它的寿命很短;而访问令牌是在服务器到服务器之间给出的。

确实如此,但还有应用程序发送的秘密 API 密钥。那么为什么不能用授权码来完成同样的事情呢?

假设没有访问令牌,只有授权码。那么,即使有人获得了授权码,如果 OAuth 服务器也检查了密钥和授权码,他们也无法执行任何操作。

它应该允许 OAuth 服务器:

  1. 确保请求是由正确的应用程序发出的(进行身份验证)
  2. 确定授予哪些类型的权限(授权)

api authorization cryptography oauth oauth-2.0

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

从一个文件复制包含word的行到linux中的另一个文件

我想复制含有某些字线file1file2.

假设file1:

ram 100 ct 50
gopal 200 bc 40
ravi 50 ct 40
krishna 200 ct 100
Run Code Online (Sandbox Code Playgroud)

file2 应该只有包含"ct"的行,如下所示:

ram 100 ct 50
ravi 50 ct 40
krishna 200 ct 100
Run Code Online (Sandbox Code Playgroud)

这是实现这一目标的最佳方式?我有一个200mb的文件.我用过,grep但没有得到任何结果grep -n ct file1.

linux awk grep sed

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

git:在第一次提交时列出所有拥有所有者/身份的文件(或者更确切地说,是第一个提交文件的用户)

我如何使用git在首次提交时列出特定目录中的所有文件以及这些文件的所有者/身份?

在许多文件中获取这样的信息通常很难吗?

编辑:好的,git没有提供直接的方法来执行此操作,但它确实存储了谁提交各种文件,对吧?我需要在特定目录中使用此列表,以便了解我"负责"的文件.

git

4
推荐指数
2
解决办法
2414
查看次数

QTextEdit 中的自定义文本(代码)区域

我有兴趣创建一个行为类似于代码区域的文本对象类型(继承QTextObjectInterface):

  • 独特的背景
  • 边界
  • 等宽字体
  • 可编辑的内容
  • 实例需要可识别代码,以便可以提取其中的内容(将代码与周围的内容分开)
  • 保存/加载(来自常规 html 文件)
  • 语法高亮将是一个加号,但并不是真正必需的

文档的其他区域需要以通常的方式运行(字体属性可编辑、颜色可编辑等)。


Qt 提供了一个使用QTextEdit实现自定义文本对象的示例。这看起来很难,因为新的文本对象不能使用 QTextEdit / QTextDocument中的现有基础结构

QTextObject

可以将QTextDocument 的各个部分组合在一起的不同类型对象的基类

所以继承它可能是一种选择,但它在 Qt SDK 包中的源文件和谷歌搜索都没有透露有用的信息。

QTextFrame继承了QTextObject,因此,如果要找到有关此路径的一些提示,它可能是一个可行的基类。


在一个简单的 HTML 文件中,所有这些(语法高亮除外)都很容易。QTextEdit以 html 为输入,能够导出 html,但在此过程中会丢失结构。

<code class="code-sample">
  int i = 0;
</code>
Run Code Online (Sandbox Code Playgroud)

顺便说一下,QWebView是只读的。它的广告是:

HTML 文档的一部分可以是可编辑的,例如通过 HTML 元素上的 contenteditable 属性。


可能还有其他平台可以轻松使用,但是文本编辑器需要作为插件在Qt Creator 内部使用,所以使用Qt 框架是有意义的。

底线:如何在QTextEdit小部件中实现代码区域?


后期编辑:

  • 使用主干中的 Qt sdk(将自身标识为 4.8.4)
  • 主干中的 Qt …

c++ qt custom-controls qtextedit qtextdocument

4
推荐指数
1
解决办法
2675
查看次数

解组JSON对象的值

如果从MediaWiki API请求获得字符串:

str = ` {
    "query": {
        "pages": {
            "66984": {
                "pageid": 66984,
                "ns": 0,
                "title": "Main Page",
                "touched": "2012-11-23T06:44:22Z",
                "lastrevid": 1347044,
                "counter": "",
                "length": 28,
                "redirect": "",
                "starttimestamp": "2012-12-15T05:21:21Z",
                "edittoken": "bd7d4a61cc4ce6489e68c21259e6e416+\\"
            }
        }
    }
}`
Run Code Online (Sandbox Code Playgroud)

使用Go的json包可以做什么来获取edittoken (请记住66984号码会不断变化)?

mediawiki go mediawiki-api

4
推荐指数
1
解决办法
199
查看次数

组框中的Qt4布局

我试图使它QGroupBox具有内容的大小,以适合内容。我想我不完全了解这是如何工作的,并且在这种奇怪的情况下会遇到这种情况:我在水平布局中有2个按钮,并将其放置在内QGroupBox。我在单击按钮时添加了一个用于打印调试信息的插槽(因此在运行调试代码时该窗口已完全加载)。

问题是QGroupBoxsizeHint返回值(-1,-1)但的水平布局QGroupBox具有正确的sizeHint。知道为什么为什么sizeHint QGroupBox是(-1,-1)吗?我认为这个问题会引起我所有其他问题,因为如果sizeHint无效,则sizeConstraintsizePolicy将对无效QGroupBox。我期望父窗口小部件的尺寸sizeHint比孩子布局大一些。

小部件和布局是使用Designer创建的(也许是相关的,我有一个复杂的界面,所以我必须使用Designer)。

更新:我查看了在该setupUi方法中生成的代码,似乎创建了一个中间窗口小部件,将带有按钮的布局放置在该窗口小部件上,并将该窗口小部件放置在上QGroupBox。我认为这是为了在设计器中将布局放置在小部件内并调整其大小。使用设计器时可以跳过此小部件吗?

qt4

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

如何在不完全读取 blob 的情况下测试 sqlite 表中的 blob 是否不为空?

我正在尝试查询具有 blob 列的表,并且需要过滤结果以仅提供在 blob 列中具有内容(任何内容)的行。

然而,这样做SELECT column_name FROM table_name WHERE blob_column IS NOT NULL需要很长时间,我认为这是因为一些斑点相当重。看起来 WHERE 子句正在读取 blob 的全部内容并将它们与null.

有没有办法在不让 sqlite 读取 blob 的全部内容的情况下测试 blob 列是否为空?

sql sqlite blob

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

为什么`perl -i -p0e <expression>`工作,而不是`perl -0 -pie <expression>`?

如果我尝试perl -pie 's/foo/bar/' file.txt它按预期工作:执行find-replace表达式,并将结果保存到原始文件.

但是,如果我想使用-0运行包含换行符的表达式,只需在该选项前添加不起作用:

$ perl -0 -pie 's/foo\nbar/qux/' file.txt
Can't open perl script "s/foo\nbar/qux/": No such file or directory
Run Code Online (Sandbox Code Playgroud)

经过多次尝试,以下组合起作用:

$ perl -i -p0e 's/foo\nbar/qux/' file.txt
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么第一个选项顺序产生错误(特别是当普通-pie按预期工作时),而第二个顺序是否正确处理?

regex perl

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