我正在尝试更改树视图的交替背景颜色.我知道这应该通常留给主题,但我想覆盖以测试gtk Style功能.根据这里的treeview文档,我了解到TreeView有几个只读样式选项,包括"偶数行颜色","奇数行颜色"和"允许规则"(根据文档) ,允许绘制偶数和奇数行颜色).我知道为了覆盖那些只读设置,我必须改变gtkrc风格的文件或字符串中的样式.
所以我的树视图字符串看起来像:
gtk.rc_parse_string( """
style "custom-treestyle"{
GtkTreeView::odd-row-color = "#00CBFF"
GtkTreeView::even-row-color = "#90EE90"
GtkTreeView::allow-rules = 1
}
widget "*custom_treeview*" style "custom-treestyle"
""")
treeview.set_name("custom_treeview" )
Run Code Online (Sandbox Code Playgroud)
这解析没有错误,结果是偶数行颜色应用于偶数行和奇数行.
编辑:我从一些更多的测试中发现,我的解析字符串必须从其他一些样式设置中被覆盖.
print treeview.style_get_property( 'allow-rules' )
print treeview.style_get_property( 'odd-row-color')
print treeview.style_get_property( 'even-row-color')
Run Code Online (Sandbox Code Playgroud)
给出结果:
True
None
None
Run Code Online (Sandbox Code Playgroud)
这些都是默认设置.通常我会认为它根本不解析字符串并设置适当的值,但在这种情况下,背景颜色确实会改变为我指定的颜色(只有它将每一行的背景绘制为一种颜色).
我究竟做错了什么?
我有一个GtkNotebook,至少包含一个名为"搜索"的永久标签.此页面中的窗口小部件允许创建更多页面,并且这些页面具有包含关闭按钮的选项卡.
如何使标签可重新排序,还要将"搜索"标签保持在0位置?gtk.Notebook.set_tab_reorderable()的当前行为是它允许您物理拖动选项卡以对其重新排序...当可重新排序选项卡移过它时,它不会阻止该选项卡被强制重新排序.
例:
第一张图片是默认位置:

此图像是拖动第6行的结果(第6行可重新排序,但搜索不是):

如何通过"可重新排序"标签重新排序"搜索"?
我在尝试从另一个应用程序导入模型时遇到了麻烦.我有两个应用程序"主要"和"管理".在这里代码,我删除了一些冗长的描述:
"行政"模式:
from django.db import models
from django import forms
from django.forms import ModelForm
class Contract(models.Model):
Code = models.CharField(max_length=50)
Provider = models.CharField(max_length=30)
Description = models.CharField(max_length=30)
ActivationDate = models.DateField(blank=True, null=True)
EndingDate = models.DateField(blank=True, null=True)
Note = models.TextField(blank=True)
Numbers = models.ManyToManyField('main.Number', through='Crefcontr2num')
def __unicode__(self):
return u'%s %s' % (self.Provider, self.Description)
class Crefcontr2num(models.Model):
Dateto = models.DateField()
Datefrom = models.DateField()
Contract = models.ForeignKey('Contract')
Num = models.ForeignKey('main.Number')
Run Code Online (Sandbox Code Playgroud)
"主要"型号:
from django.db import models
from endusers.models import OrderedEndUser
from django import forms
from django.forms import ModelForm, Textarea, …Run Code Online (Sandbox Code Playgroud) 我有两个字典,它们具有相似的结构......意味着它们(应该)具有相同的键结构,即使在嵌套键中也是如此.此外,这些dicts几乎可以有任何类型的嵌套结构... list,dict等...我希望能够遍历这些字典,并获取这两个值并从函数返回它们.
简单示例:
dict_a = {'a':1, 'b':2, 'c':{'d':3}}
dict_b = {'a':2, 'b':4, 'c':{'d':6}}
#Note the structure is the same for these dicts
#I want to be able to do something like:
>>get_values( dict_a, dict_b)
[(1,2),(2,4),(3,6)]
Run Code Online (Sandbox Code Playgroud)
我通过遍历一个字典,然后将每个键(或索引,如果它遇到列表)附加到列表中......作为一种键路径来提出解决方案:
key_map = []#A list of all key-paths for a dictionary
generate_key_paths(dict_a, [], key_map)
def generate_key_paths(value, key_list,key_map ):
new_list = [item for item in key_list]
if isinstance( value, dict):
#Handle list
for key, val in value.iteritems():
new_list.append( key)
self._generate_key_paths( val, new_list, key_map )
new_list = …Run Code Online (Sandbox Code Playgroud) 我有一张表看起来像:
sku | qty
----|----
sku1| 1
sku1| 3
sku1| 1
sku1| 3
sku2| 1
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个查询,它将返回qty每个不同的平均值sku.因此,对于上面的数据,查询的输出将如下所示:
sku | qty
----|----
sku1| 2
sku2| 1
Run Code Online (Sandbox Code Playgroud)
因此,sku1来自1 3 1 3的平均值和平均值sku2是正确的1
我知道它会涉及某种子查询,但我似乎无法弄明白.
SELECT sku, AVG(qty)
FROM (SELECT DISTINCT sku FROM table)
Run Code Online (Sandbox Code Playgroud)
如何查询每个sku的平均数量?
python ×4
gtk ×2
pygtk ×2
dictionary ×1
django ×1
gtktreeview ×1
import ×1
model ×1
postgresql ×1
sql ×1