小编Lex*_*Lex的帖子

ttk造型"TNotebook.Tab"背景和边框宽度不起作用

我一直在玩TKinter试图创建一个多选项卡窗口.

当我尝试的风格TNotebook.Tab它忽略了选项backgroundborderwidth,但它承认foreground.我究竟做错了什么?

以下是代码的相关部分:

COLOR_1 = 'black'
COLOR_2 = 'white'
COLOR_3 = 'red'
COLOR_4 = '#2E2E2E'
COLOR_5 = '#8A4B08'
COLOR_6 = '#DF7401'

#Notebook Style
noteStyler = ttk.Style()
noteStyler.configure("TNotebook", background=COLOR_1, borderwidth=0)
noteStyler.configure("TNotebook.Tab", background=COLOR_1, foreground=COLOR_3, lightcolor=COLOR_6, borderwidth=0)
noteStyler.configure("TFrame", background=COLOR_1, foreground=COLOR_2, borderwidth=0)

#Create Notebook and Tabs
note = ttk.Notebook(gui, style='TNotebook')
myTab = ttk.Frame(note, style='TFrame')
note.add(myTab, text = 'MyTab', compound=tk.TOP)        
note.pack(anchor=tk.W)
Run Code Online (Sandbox Code Playgroud)

这是窗口的图像:

在此输入图像描述

如果它很重要,我在Windows 7 64位上运行python 2.7.

python tk-toolkit tkinter ttk python-2.7

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

Oracle top-n查询排序性能

我是sql优化的新手,我试图理解为什么IN子句中有多个项目会导致性能受到很大影响,如果可能的话,我怎么能阻止它.以下是我正在使用的或多或少的东西.第二个查询是我现在所拥有的,我正在寻求提高性能.在现实生活中,TABLE_1有数百万行,计划的排序部分的CPU成本为21M.

SELECT 
    TOPNWRAPPER.*, 
    TABLE_2.X, 
    TABLE_2.Y 
FROM 
    TABLE_2, 
    ( 
        SELECT 
            * 
        FROM 
            ( 
                SELECT 
                    /*+ index (TABLE_1 TABLE_1_B_E_F_ID) */ 
                    TABLE_1.ID, 
                    TABLE_1.C, 
                    TABLE_1.B, 
                    TABLE_1.E, 
                    TABLE_1.F
                FROM 
                    TABLE_1 
                WHERE 
                    ( TABLE_1.F IN ( ‘STATE1’ ) ) AND 
                    ( TABLE_1.B= 'SOMETEXT' ) AND 
                    ( TABLE_1.C=1 ) AND 
                    ( TABLE_1.E= 'IN' ) AND 
                    ( TABLE_1.D IS NULL ) 
                ORDER BY 
                    TABLE_1.ID 
            ) 
        WHERE 
            ( ROWNUM <= 150 ) 
    ) TOPNWRAPPER 
WHERE 
    ( TOPNWRAPPER.ID = TABLE_2.T1_ID_FK ) 
ORDER BY 
    TOPNWRAPPER.ID ASC
Run Code Online (Sandbox Code Playgroud)

统计:

|--------------------------------------------------------------------------------------------------------------------------|
|| Id  | …
Run Code Online (Sandbox Code Playgroud)

sql oracle query-optimization oracle12c

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

为什么"int i"的位置?在这种情况下的问题?

我正在自学C,因为我的大学似乎对java很着迷,所以我正在写一个int类型的堆栈实现(不用担心以后会把它变成通用的).我遇到了一个对我来说没有意义的错误missing ';' before 'type'.据我所知,我的语法是正确的,如果不是,请告诉我.无论如何这里是我的代码:

stack.h

typedef struct{
    int *elements;
    int size;
    int capacity;
}Stack;

void newStack(Stack *s);
void delStack(Stack *s);
void pushToStack(Stack *s, int value);
int popFromStack(Stack *s);
Run Code Online (Sandbox Code Playgroud)

stack.c

#include "stack.h"
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>

void newStack(Stack *s){
    s->size = 0;
    s->capacity = 4;
    s->elements = (int*) malloc(4 * sizeof(int));

    assert(s->elements != NULL); // allocation worked?
}

void delStack(Stack *s){
    free(s->elements);
}

void pushToStack(Stack *s, int value){
    if(s->size == s->capacity){
        s->size *= 2;
        s->elements = (int …
Run Code Online (Sandbox Code Playgroud)

c visual-studio

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

变量声明中的冒号

我正在阅读一些Unity教程,并在其中一个示例脚本中遇到了这行代码.我熟悉javascript但我从未见过在声明除了对象文字之外的变量时使用的冒号.

var controller : CharacterController = GetComponent(CharacterController);

冒号在这一行做什么.

在脚本的末尾,还有另一行可能相关的代码

@script RequireComponent(CharacterController)

以下是来自unity的完整示例代码:

http://docs.unity3d.com/Documentation/ScriptReference/CharacterController.SimpleMove.html

-

我搜索了SO的重复项,但我找到的唯一一个就是这个:

Javascript:变量名中的冒号运算符是什么?

那家伙被嘲笑出了网站

unity-game-engine unityscript

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

malloc之前的(int*)是什么意思?

(int*)在以下代码中做了什么?

int *ptr = (int *) malloc(10 * sizeof (int));
Run Code Online (Sandbox Code Playgroud)

我是C的新手,我已经看到上面的代码有和没有(int*)所以我想知道它做了什么.

c memory-management

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

HTML5 JS fillRect()奇怪的行为

我在填充(x,y,宽度,高度)方面遇到两个奇怪的问题.

  1. 将"高度"的值乘以2

  2. X和y应设置为鼠标位置,但矩形向左下方移动,当鼠标向左下方移动时,矩形向远处移动.

这段代码来自视频教程,代码似乎适用于家伙和视频,以及其他所有人,因为没有人评论过同样的问题.无论如何这里是代码:

function doFirst(){
    canv = document.getElementById('canvas');
    canvas = canv.getContext('2d');

    document.addEventListener("mousemove", onMouseMove, false);
}

function onMouseMove(e){
    canvas.clearRect(0, 0, canv.width, canv.height);
    var x = e.clientX;
    var y = e.clientY;
    canvas.fillRect(x, y, 50, 50);
}

window.addEventListener("load", doFirst, false);
Run Code Online (Sandbox Code Playgroud)

我想也许我错过了教程中的一个步骤,经过一遍又一遍的检查,我决定将其简化为只绘制一个没有鼠标监听器的矩形,但画布仍然以2倍高度和约2倍y位置绘制它.

function doFirst(){
    canv = document.getElementById('canvas');
    canvas = canv.getContext('2d');

    canvas.fillRect(10, 10, 50, 50);
}

window.addEventListener("load", doFirst, false);
Run Code Online (Sandbox Code Playgroud)

当我第一次开始玩HTML5画布时,fillRect函数工作正常,那么发生了什么?我是怎么打破它的?

javascript html5 html5-canvas

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