在 pixMapItem 上覆盖鼠标事件对我不起作用;pixMapItem 未检测到鼠标单击事件。这是我的代码:
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
class DrawImage( QMainWindow ):
def __init__(self, path):
QMainWindow.__init__(self)
self.setWindowTitle('Select Window')
self.local_image = QImage(path)
self.local_grview = QGraphicsView()
self.setCentralWidget( self.local_grview )
self.local_scene = QGraphicsScene()
self.image_format = self.local_image.format()
self.pixMapItem = self.local_scene.addPixmap( QPixmap(self.local_image) )
self.local_grview.setScene( self.local_scene )
self.pixMapItem.mousePressEvent = self.pixelSelect
self.show()
sys.exit(app.exec_())
def pixelSelect( self, event ):
print 'hello'
position = QPoint( event.pos().x(), event.pos().y())
color = QColor.fromRgb(self.local_image.pixel( position ) )
if color.isValid():
rgbColor = '('+str(color.red())+','+str(color.green())+','+str(color.blue())+','+str(color.alpha())+')'
self.setWindowTitle( 'Pixel position = (' …Run Code Online (Sandbox Code Playgroud) 我有一个目录C:\myDir.
在此目录下,可能有文件夹和各种文件
如何"循环"通过此目录并构建具有.properties扩展名的所有文件的文件数组?
我想对这些文件进行一些处理,File []的原因是保持动态(因此将来会添加额外的属性文件)
我希望做这样的事情:
public static void main (String[] vargs)
{
// find all .properties files
//
//loop through property file and process
{
doSomething(myFile[i]);
}
}
public void doSomething(File myfile) {}
Run Code Online (Sandbox Code Playgroud) 我想-在下面的代码中使用,但Visual Studio不允许我使用它并给出"错误,意外的字符".
Name = objFileInfo.Name.Substring(0,
objFileInfo.Name.Length – objFileInfo.Extension.Length);
Run Code Online (Sandbox Code Playgroud) 我有一个很大的实例,我一直在酸洗,但最近我尝试转储它时开始收到此错误:
File "/usr/lib/python2.6/copy_reg.py", line 77, in _reduce_ex
raise TypeError("a class that defines __slots__ without "
TypeError: a class that defines __slots__ without defining __getstate__ cannot be pickled
Run Code Online (Sandbox Code Playgroud)
我不明白这个错误,因为我的所有类似乎都定义了一个__getstate__方法,似乎没有定义__slots__.我无法隔离更改我触发了这个错误.
我只能假设我的实例中有一些嵌套在深层的对象导致了这种情况.有没有办法获得更多信息?如何找到触发此错误的确切对象的类?
如何在模型的save()方法中处理可能的竞争条件?
例如,以下示例实现具有相关项的有序列表的模型.创建新项目时,当前列表大小用作其位置.
据我所知,如果同时创建多个项目,这可能会出错.
class OrderedList(models.Model):
# ....
@property
def item_count(self):
return self.item_set.count()
class Item(models.Model):
# ...
name = models.CharField(max_length=100)
parent = models.ForeignKey(OrderedList)
position = models.IntegerField()
class Meta:
unique_together = (('parent','position'), ('parent', 'name'))
def save(self, *args, **kwargs):
if not self.id:
# use item count as next position number
self.position = parent.item_count
super(Item, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
我遇到过@transactions.commit_on_success()但这似乎只适用于视图.即使它确实适用于模型方法,我仍然不知道如何正确处理失败的事务.
我当前正在处理它,但它感觉更像是一个黑客而不是一个解决方案
def save(self, *args, **kwargs):
while not self.id:
try:
self.position = self.parent.item_count
super(Item, self).save(*args, **kwargs)
except IntegrityError:
# chill out, then …Run Code Online (Sandbox Code Playgroud) 我几个月前制作了Android应用程序.Toast类对我来说非常有用.我不需要考虑主线程和地方来显示它.我可以在任何地方展示它,然后离开它,它会自动消失.
Toast.makeToast(context, msg, Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)
而已.^^
iPhone怎么样?有像Toast这样的东西吗?只是显示消息,不需要关心它.它会自动消失.
我有两个预先存在的变量:
$side(这是F或B)
和
$plate(这是一个3位数字)
我正在尝试构建两个名为的数组
$sidecountF
和
$sidecountB
使用以下代码:
$sidecount{$side}[$plate] = 1;
Run Code Online (Sandbox Code Playgroud)
假设$ side是F而$ plate是200,我希望最终结果是
$sidecountF[200] = 1;
Run Code Online (Sandbox Code Playgroud)
我,在开始时,声明sidecountF和sidecountB作为数组
$sidecountF = array();
$sidecountB = array();
Run Code Online (Sandbox Code Playgroud)
所以现在我很难过.
我正在研究一个项目来评估使用C#作为脚本语言的不同复杂度的标记化用户定义表达式.
我有一个工作模型使用CodeDOM和反射生成一个评估器类,创建和加载程序集(GenerateInMemory = true),实例化类,并执行evaluate方法.但是,我想在AppDomain中加载程序集,以便在执行完成后可以卸载它.在研究这个问题时,我被引导到了AppDomain.DefineDynamicAssembly方法.这似乎正是我需要的,因为我可以创建一个可收集的组件.
以下是用户定义表达式的几个示例,以及我的CodeDOM项目生成的类:
简单的用户定义表达式:
return Abs(@HDL@/@LDL@ * 5.5);
Run Code Online (Sandbox Code Playgroud)
生成的类:
namespace Lab.ResultProcessing
{
public sealed class ExpressionEvaluator
{
public double Evaluate()
{
return System.Math.Abs(449.86881550861/74.934407754305 * 5.5);
}
}
}
Run Code Online (Sandbox Code Playgroud)
更复杂的用户定义表达式:
double GFR;
double MA_GFR;
double MB_GFR;
double FA_GFR;
double FB_GFR;
GFR = (170 *
Pow(@CREAT@, -0.999) *
Pow(@YEARS@, -0.176) *
Pow(@BUN@, -0.170) *
Pow(@ALBUMIN@, 0.318));
MA_GFR = GFR;
MB_GFR = GFR * 1.180;
FA_GFR = GFR * 0.762;
FB_GFR = GFR * 1.180 * 0.762;
if (("@RACE@" != "B") …Run Code Online (Sandbox Code Playgroud) 我在sql server及其可选字段中有一个datetime列,如果用户决定不输入,那么我想在表中插入值为NULL,我定义如下:
@deadlineDate datetime = null
Run Code Online (Sandbox Code Playgroud)
当我插入到SQL服务器时,我在asp.net中有这个代码
private DateTime? GetDeadlineDate()
{
DateTime? getDeadlineDate = null;
if (!string.IsNullOrEmpty(DeadlineDate.SelectedDate))
{
getDeadlineDate = DateTime.Parse(DeadlineDate.SelectedDate).Date;
}
if (!getDeadlineDate.HasValue)
{
return null;
}
return getDeadlineDate.Value;
}
Run Code Online (Sandbox Code Playgroud)
但问题是:插入
1900-01-01 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
在sql表而不是 NULL
我在这做错了什么?
更新:
private DateTime? GetDeadlineDate()
{
DateTime? getDeadlineDate = null;
if (!string.IsNullOrEmpty(DeadlineDate.SelectedDate))
{
getDeadlineDate = DateTime.Parse(DeadlineDate.SelectedDate).Date;
}
if (!getDeadlineDate.HasValue)
{
return DBNull.Value; //throws error....
}
return getDeadlineDate.Value;
}
Run Code Online (Sandbox Code Playgroud) 我有一个大的有向无环图,我想在位图图像中可视化.
理想情况下,我希望将所有根节点放在图像的顶部,并且底部的所有叶节点,即图形边缘都指向向下的方向.
是否有一个很好的算法来计算满足这些约束的所有节点的坐标并产生良好的可视化效果?
visualization data-visualization graph graph-visualization directed-acyclic-graphs