我一直在玩TKinter试图创建一个多选项卡窗口.
当我尝试的风格TNotebook.Tab它忽略了选项background和borderwidth,但它承认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.
我是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) 我正在自学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) 我正在阅读一些Unity教程,并在其中一个示例脚本中遇到了这行代码.我熟悉javascript但我从未见过在声明除了对象文字之外的变量时使用的冒号.
var controller : CharacterController = GetComponent(CharacterController);
冒号在这一行做什么.
在脚本的末尾,还有另一行可能相关的代码
@script RequireComponent(CharacterController)
以下是来自unity的完整示例代码:
http://docs.unity3d.com/Documentation/ScriptReference/CharacterController.SimpleMove.html
-
我搜索了SO的重复项,但我找到的唯一一个就是这个:
那家伙被嘲笑出了网站
(int*)在以下代码中做了什么?
int *ptr = (int *) malloc(10 * sizeof (int));
Run Code Online (Sandbox Code Playgroud)
我是C的新手,我已经看到上面的代码有和没有(int*)所以我想知道它做了什么.
我在填充(x,y,宽度,高度)方面遇到两个奇怪的问题.
将"高度"的值乘以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函数工作正常,那么发生了什么?我是怎么打破它的?
c ×2
html5 ×1
html5-canvas ×1
javascript ×1
oracle ×1
oracle12c ×1
python ×1
python-2.7 ×1
sql ×1
tk-toolkit ×1
tkinter ×1
ttk ×1
unityscript ×1