问题列表 - 第33708页

不能在QTreeFilterProxyModel的QTreeView点击信号中使用itemFromIndex

我在视图和QStandardItemModel之间有一个带有QSortFilterProxyModel的QTreeView来对树进行排序.然后我想通过clicked()信号对视图中的点击进行操作.

模型/视图的设置类似于:

mymodel  = new QStandardItemModel(5, 5, this);
mysort = new MySortProxy(this);
mysort->setSourceModel(mymodel);
myview = new QTableView(this);
myview->setSourceModel(mysort);
connect(myview, SIGNAL(clicked(QModelIndex)), this, slot(clickAction(QModelIndex)));
Run Code Online (Sandbox Code Playgroud)

这个设置都可以按照我想要的方式对我的数据进行排序和排序.单击某个项目时,将调用clickAction()槽,并单击该项目的索引.然后我尝试从插槽中的索引中获取项目:

void myclass::clickAction(const QModelIndex &index)
{
    QStandardItem *item = mymodel->itemFromIndex(index);
}
Run Code Online (Sandbox Code Playgroud)

但是,itemFromIndex返回NULL.

如果我删除了QSortFilterProxyModel并将模型直接设置为视图中的sourcemodel,那么一切都可以正常工作.即

myview->setSourceModel(mymodel);    // was setSourceModel(mysort);
Run Code Online (Sandbox Code Playgroud)

mymodel-> itemFromIndex(index)现在按预期返回项目,但显然现在我无法使用自己的排序代理.

任何人都能告诉我我做错了什么以及当我有一个sortfilter代理时我如何在点击槽中获取该项目?

我正在使用Qt-4.3.1.

感谢您的帮助,Giles

qt

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

在Powershell中为Git分支添加选项卡完成

在Git存储库中,是否可以将分支的选项卡完成添加到Powershell?例如:

PS> git checkout maTAB

会导致

PS> git checkout master
Run Code Online (Sandbox Code Playgroud)

git powershell autocomplete

36
推荐指数
2
解决办法
8353
查看次数

python - >多处理模块

这是我想要完成的事情 -

  1. 我有大约一百万个文件需要解析并将解析后的内容附加到单个文件中.
  2. 由于单个过程需要很长时间,因此该选项已经完成.
  3. 不使用Python中的线程,因为它实际上是运行单个进程(由于GIL).
  4. 因此使用多处理模块.即产生4个子流程以利用所有原始核心功能:)

到目前为止,我现在需要一个所有子流程都可以访问的共享对象.我正在使用多处理模块中的队列.此外,所有子进程都需要将其输出写入单个文件.我想是一个使用Locks的潜在地方.在我运行时使用此设置,我没有得到任何错误(所以父进程看起来很好),它只是停止.当我按下ctrl-C时,我看到一个追溯(每个子过程一个).也没有输出写入输出文件.这是代码(请注意,没有多个进程,一切运行正常) -

import os
import glob
from multiprocessing import Process, Queue, Pool

data_file  = open('out.txt', 'w+')

def worker(task_queue):
    for file in iter(task_queue.get, 'STOP'):
        data = mine_imdb_page(os.path.join(DATA_DIR, file))
        if data:
            data_file.write(repr(data)+'\n')
    return

def main():
    task_queue = Queue()
    for file in glob.glob('*.csv'):
        task_queue.put(file)
    task_queue.put('STOP') # so that worker processes know when to stop

    # this is the block of code that needs correction.
    if multi_process:
        # One way to spawn 4 processes
        # pool = Pool(processes=4) …
Run Code Online (Sandbox Code Playgroud)

python queue multiprocessing

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

如何绕过IE8 32k数据限制:uri on base64编码?

我需要向包含1920x1080 png的浏览器发送html响应.这是一个html查询截图.

我在base64中对图像进行编码,并将其作为text/html内容类型嵌入.简单的东西:

<HTML><HEAD>Whatever</HEAD><BODY><img src="data:image/png;base64,data"/></BODY></HTML>
Run Code Online (Sandbox Code Playgroud)

它在FF和Chrome上工作正常,问题是我需要支持IE8.IE8作为数据长度的限制:uri.

如果我压缩图像使png编码低于32k(约600x500),我会丢失太多信息.

对于这个问题,最容易解决的是什么?(我无权访问服务器来托管图像等)

html png content-type internet-explorer-8

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

Android参数传递方法

在Android中使用哪种参数传递方法?通过引用或通过值传递?请提供相同的Android特定示例.

android

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

jQuery表斑马条纹与隐藏的行

我一直在使用以下没有问题:

$("#tableid tr:even").addClass("evenClass");
Run Code Online (Sandbox Code Playgroud)

但是现在我的桌子上有一些隐藏的斑块条纹样式.我试过添加'is(":visible")'和类似的东西无济于事.有任何想法吗?

css jquery hidden html-table

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

如何在node.js中为客户端http连接设置超时

我正在编写一个需要与服务器通信的node.js应用程序.它使用以下代码建立http连接:

var client = http.createClient(u.port, u.hostname, u.secure);
client.on("error", function(exception) {
    logger.error("error from client");
});
var request = client.request(method, u.path, headers);
Run Code Online (Sandbox Code Playgroud)

我没有在node.js文档中看到任何用于在连接上设置超时的选项,默认情况下它似乎设置为20秒.我遇到的问题是我在中国的用户似乎是一个缓慢或片状的网络,他们有时会遇到连接到美国数据中心的超时.我想将超时时间增加到1分钟,看看是否能为它们修复它.

有没有办法在node.js中这样做?

node.js

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

新行字符\n无法在textView Android中正确显示

我知道如果你这样做的话

myTextView.setText("This is on first line \n This is on second line");
Run Code Online (Sandbox Code Playgroud)

然后它会像这样正确显示:

这是在第一行
这是在第二行

当我将该字符串存储在数据库中然后将其设置为视图时,它显示如下:

这是在第一行\n这是在第二行

这是我用来从数据库中提取字符串的代码行:

factView.setText(factsCursor.getString(MyDBAdapter.FACT_COLUMN));
Run Code Online (Sandbox Code Playgroud)

我简单地填充从一个文本文件,其中每行是一个新进入的表,这样的线路是这样的数据库"这是第一行\n这是第二行",并存储为文本.

有没有理由不正确显示\n字符?它必须与数据库中的字符串有关.有什么建议?

sqlite android textview

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

使用0填充多维数组元素

我有一个2d,我想将元素设置为零而不循环所有元素

int a[100][200];
Run Code Online (Sandbox Code Playgroud)

我无法在声明点初始化它们.

c++

9
推荐指数
5
解决办法
4万
查看次数

在JavaScript中检查字符串相等性的正确方法是什么?

在JavaScript中检查字符串之间的相等性的正确方法是什么?

javascript string

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