我有一个我目前可以输入的Combobox.我希望它是这样的,用户只能从下拉列表中选择一个有效的选项.
我似乎无法在网上找到类似的问题,我在文档中看不到任何可以帮助我的内容.
我正在尝试向ttk.LabelFrame
. 我的代码如下所示:
root=Tk()
style = ttk.Style()
style.configure('TLabelFrame', background='SystemWindow')
style.configure('TFrame', background='SystemWindow')
Run Code Online (Sandbox Code Playgroud)
样式ttk.Frame
有效,所以我不确定这里有什么不同。
编辑:另外,如何在 LabelFrame 中设置标签样式?
即使我的树视图有选项takefocue=False
,单元格中的文本仍然以某种方式获得焦点。具体来说,当我这样做时,文本列tree.insert('', tk.END, text='Some Text', values=5)
正在获得焦点,这意味着 周围有一条虚线Some Text
。我能够找到此资源,但我不确定需要更改的布局字符串。
我目前正在为我所使用的 C 库创建一些 Java 绑定。我们的 C 结构之一有一个字符缓冲区,它是文件系统路径。调用 C 函数后,缓冲区已正确填充。我想获取缓冲区并将其转换为java.nio.file.Path
Java 对象的成员。
不过我遇到了一些麻烦。由于某种原因,我在 C 中生成了 a NullPointerException
,但我无法真正看到问题。
创建对象的方式java.nio.file.Path
是经过java.nio.file.Paths::get()
.
这是相关的C代码:
const jclass paths_class = (*env)->FindClass(env, "java/nio/file/Paths");
if ((*env)->ExceptionCheck(env))
return;
const jmethodID get_method = (*env)->GetStaticMethodID(
env, paths_class, "get", "(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;");
if ((*env)->ExceptionCheck(env))
return;
const jstring path_str = (*env)->NewStringUTF(env, info.mi_path);
if ((*env)->ExceptionCheck(env))
return;
const jobject path_obj =
(*env)->CallStaticObjectMethod(env, paths_class, get_method, path_str); // exception generated here
if ((*env)->ExceptionCheck(env))
return;
Run Code Online (Sandbox Code Playgroud)
还有 Java 类:
public final class MclassInfo {
private native void …
Run Code Online (Sandbox Code Playgroud)