问题列表 - 第18714页

QObject儿童的顺序(战略问题)

对于我的一个项目,我有一个QObject派生对象树,它利用QObject的父/子功能来构建树.

这非常有用,因为我使用了信号和插槽,使用Qt的保护指针并期望父对象在删除时删除子对象.

到现在为止还挺好.不幸的是,现在我的项目要求我管理/改变孩子的顺序.QObject没有提供任何改变其子节点顺序的方法(例外:QWidget的raise()函数 - 但在这种情况下这没用).所以现在我正在寻找一种控制孩子秩序的策略.我有一些想法,但我不确定他们的利弊:



选项A:自定义排序索引成员变量

使用int m_orderIndex成员变量作为排序键,并提供一个sortedChildren()方法,该方法返回按此键排序的QObject列表.

  • 易于实现到现有的对象结构中.
  • QObject::children()方法被覆盖时会出现问题 - 当项目的顺序发生变化时,在循环期间会导致问题,也比默认实现更昂贵.
  • 如果所有排序键相等或0 /默认,则应回退到QObject对象顺序.

选项B:儿童冗余清单

在a中维护一个冗余的子项列表QList,并在创建和销毁子项时添加子项.

  • 需要昂贵的跟踪添加/删除的对象.这基本上导致第二个子/父跟踪和许多信号/时隙.QObject已在内部完成所有这些工作,因此再次执行它可能不是一个好主意.也感觉像为改变孩子的顺序这样的简单事情添加了很多臃肿.
  • 良好的灵活性,因为可以根据需要修改儿童的QList.
  • 允许子进程多次进入QList,或者根本不进入QList(即使它可能仍然是QObject的子进程)

选项C:...?

任何想法或反馈,特别是那些已经在自己的项目中解决过这个问题的人,都会受到高度赞赏.新年快乐!

qt children qt4 qobject

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

MySQL日期和时间函数不存在

我已经安装了WampServer 2.0和MySQL 5.1.33.

我可以做数字和字符串函数

SELECT ABS(-2)
要么
SELECT LOWER('ASD')

但有日期和时间功能,如

SELECT CURDATE()
要么
SELECT NOW()

我明白了

Error : no such function: CURDATE
Run Code Online (Sandbox Code Playgroud)

我做错了什么,有什么我需要安装的吗?

有关从何处开始调查的任何帮助?

mysql sqlite function

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

在任务关键型/生命关键型软件中使用动态分配

在任务关键型/生命关键型系统中使用动态分配是否安全,还是应该避免?

c++

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

同时将一个值写入两个文本文件

我使用以下php将HTML的内容发送<form>到文本文件:

$filename =  "polls"."/".time() .'.txt';
    if (isset($_POST["submitwrite"])) {
        $handle = fopen($filename,"w+");
        if ($handle) {
            fwrite($handle, $_POST["username"]."¬".$_POST["pollname"]."¬".$_POST["ans1"]."¬".$_POST["ans2"]."¬".$_POST["ans3"]."¬".time());
            fclose($handle);
        }
Run Code Online (Sandbox Code Playgroud)

在创建文本文件的同时,使用表单的内容,我还想将time()写入已经存在的文件,因此将使用'a +'.它们需要以逗号分隔值存储.

任何人都可以建议我如何同时做到这一点?

php

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

我该如何优化这个数据库设计?

我正在创建一个应用程序,为学生在学校生涯中的表现生成统计信息.为了实现这一目标,我需要存储学生所达到的每个等级.

但我不知道如何以最佳方式存储这些信息.这是一个初步的设计,但不知道它将如何在实践中保持. 数据库设计

因此,在完成16年教育后,每个学生将有288个年级数据,每年18个.除此之外还有他们的个人信息,其中包含他们的名字,DOB等.

那么,我怎样才能最佳地保存这些数据呢?

database database-design normalization

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

从代码中设置silverlight模板?

如果我的模板放在ResourceDictionary中,如何从代码中设置control.Template?

silverlight templates

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

C函数中的变量参数列表 - 如何正确遍历arg列表?

在以下C程序中,我收到警告:

warning #2030: '=' used in a conditional expression.

究竟是什么问题,我该如何避免这个?迭代变量参数的正确方法是什么?

#include <stdio.h>
#include <stdarg.h>

int Sum(int a, int b, ...)
{
    int arg;
    int Sum = a + b;

    va_list ap;
    va_start(ap, b);

    while(arg = va_arg(ap, int))
    {
        Sum += arg;
    }
    va_end(ap);

    return Sum;
}

int main(int argc, char *argv[])
{
    printf("%d\n", Sum(1, 2, 4, 8));

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c variables arguments function

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

Bash在变量或数组的每第三个字段后插入一个逗号(,)?

我有一个带有以下内容的变量:"a b c d e f g h i j k l",如何在每个第三个成员之后添加一个逗号(,),如下所示:"a b c, d e f, g h i, j k l".

最初我的所有可变数据都存储在一个数组中,所以如果有人知道如何直接操作数组,那就太好了.

提前致谢

arrays bash awk sed

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

Linq失败而不是返回null?

我试图使用.Where方法过滤项目列表,并返回与过滤器匹配的第一项.

但是,如果没有与筛选器匹配的项,则抛出异常而不是返回null.

这是我正在使用的代码行:

DescendantNodes.Where(dNode => dNode.InnerText.Contains("rain")).First();
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作除了分成两个指令?

谢谢,

泰迪熊

linq

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

在Ruby中解析一个字符串以获取多个值?

我该如何解析以下字符串:

电话+ 300分钟和无限文本 - 24个月计划25美元

获得括号内的值,即

电话+ [300]分钟和[无限制]文本 - [24]月计划$ [25]

ruby regex

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