小编Ext*_*kun的帖子

QT 4.5 - 如何在QGraphicsView中获取QPainter设备

我正在尝试用QT 4.5做一个绘画程序,所以我使用QGraphicsView作为画布,而QGraphicsScene则用于存储绘制的项目.由于某些原因,我无法在我自己的派生QGraphicsView中获得QPainter上下文

class DrawingCanvas : public QGraphicsView
{ 
  DrawingCanvas::DrawingCanvas(QWidget * parent);

 ...
};

DrawingCanvas::DrawingCanvas(QWidget * parent = 0) : QGraphicsView(parent) 
{
  ....
}

void DrawingCanvas::paintEvent(QPaintEvent& paintEventInfo)
{
  // Result in painter not active
  QPainter(this);
  ...
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将DrawingCanvas更改为QWidget的子项,则可以正常工作.看到QGraphicsView派生自QAbstractScrollArea,然后是QFrame,然后是QWidget,我希望代码能够正常工作.

所以我猜问题是:

1)为什么我不能在QGraphicsView中使用paintEvent来获得活跃的QPainter?2)我有可能得到一个吗?

提前致谢!

qt4

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

单元测试 - 如何测试返回随机输出的函数?

我有一个函数,它接受两个参数,并返回一个或另外50%的时间.

对此进行单元测试应确定可以返回两个参数.幸运的是,我不需要证明每个的概率是50%,但我需要证明两个参数都可以返回.

如何为此功能编写测试用例?

unit-testing

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

CLOB与VARCHAR2还有其他选择吗?

我正在为我的应用程序使用DevArt的dotConnect和Entity Developer.我使用Entity-First功能创建了表格.

我注意到许多列类型都设置为CLOB.我只有MySQL和Microsoft SQL服务器的经验,所以我不确定是否将CLOB用于该应用程序.我做了一些阅读,发现CLOB用于大量数据.

问题是:

  1. 在大多数字段中使用CLOB,例如用户的性别(应该是varchar(1))还是全名,可行吗?将CLOB字段转换为VARCHAR2的步骤需要删除列然后重新创建它,并且在DevArt的实体资源管理器中有问题,所以我想尽可能避免使用它.编辑:我刚刚发现,如果为字符串字段设置最大长度,它将自动为VARCHAR2.

  2. Oracle中的TINYTEXT是否有任何等价物?

oracle devart oracle11g dotconnect

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

PHP和WordPress:调试

我正在为WordPress编写一些插件和主题,我觉得很难调试,因为在页面加载时,$ _GET,$ _POST和$ _REQUEST都是空的.即使设置了错误报告,每当出现致命错误时,我都不会收到空白页以外的错误消息.反正为WordPress启用'调试模式'吗?

谢谢!

php debugging wordpress wordpress-plugin

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

MySQL - 递归树结构

我有一个数据库表,将位置链接在一起; 位置可以位于其他位置内的位置.

location (<id>, ....)
location_parent (<location_id>, <parent_id>)
Run Code Online (Sandbox Code Playgroud)

这是MySQL/PHP的深度:

$sql = "SELECT id FROM se_locations_services WHERE parent_locationid IN
( SELECT location_id FROM se_locations_parent WHERE parent_id = '$locationid' )";
Run Code Online (Sandbox Code Playgroud)

在给定父位置的情况下,如果使用MySQL,无论多深,都能获得所有后代位置?

mysql recursion hierarchy

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

OOP闭包有哪些用途?

PHP和.Net有闭包; 我一直想知道在OOP和设计模式中使用闭包的一些例子,以及它们相对于纯OOP编程有什么优势.

作为澄清,这不是OOP与函数编程,而是如何在OOP设计中最好地使用闭包.闭包如何适用于工厂或观察者模式?例如,您可以采用哪些技巧来澄清设计并导致更松散的耦合.

language-agnostic oop functional-programming

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

扩展方法及其在软件工程中的意义(或者它真的是一个好主意吗?)

是的,所以MS引入了C#3.0的扩展方法.基本上,它允许您向现有类添加新方法,而无需从中继承或更改其实现.我的脑海里立刻响起了警钟.

1)您开始为库或标准库类实现自己的扩展方法.现在它不再标准化了.

2)在OOP中,您可以通过继承或组合定义新类型.实际上扩展方法是什么呢?同样,在使用扩展方法时,没有定义明确的关系.

3)扩展方法是否可以在项目之间移植?如果存在两种方法的扩展方法怎么办?

扩展方法也是一大堆蠕虫值得避免的吗?我可以看到它有优点,因为你输入较少,但不知何故它看起来会导致不好的练习.

意见?

extension-methods c#-3.0

8
推荐指数
4
解决办法
539
查看次数

Qt 4.5 - QList :: QList(const QList&) - 这是一个深层复制构造函数吗?

我对文档中的QList拷贝构造函数感到困惑.

QList :: QList(const QList&other)构造其他的副本.

此操作需要恒定时间,因为隐式共享QList.这使得从函数返回QList的速度非常快.如果修改了共享实例,它将被复制(写时复制),并且需要线性时间.

然后在关于被隐式共享的链接上,它讨论了引用计数和写时复制.这是一个深层拷贝还是只是浅拷贝?

qt qt4

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

如果只有datetime字段,我如何按月和年分组?

我有一个表模式,它本质上是一堆带有日期时间字段的事务信息

TRANSACTION (< transactionid >, amount, when)
Run Code Online (Sandbox Code Playgroud)

我需要生成每月总交易数,即SUM(金额),但我对我的分组感到难过.SQL中的每一行应包含月总数(因此,对于2009年1月9日,2009年1月9日等等,一行).我想我可能必须按代码生成表,但是想知道是否有办法使用SQL解决这个问题.

任何帮助,将不胜感激!(使用MySQL 5.3,PHP5)

php mysql sql

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

MVC3 - 如何输出要下载的文件而不先将其保存在服务器上?

在PHP中,可以通过使用正确的标头回显文件来将文件返回到浏览器.您不需要先在服务器上保存它的副本.

因此,假设我有一堆数据,我希望作为excel文件返回 - 在使用OpenXML创建数据结构后,如何将文件提供给用户而不先将其保存在服务器上?

asp.net-mvc-3

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