⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _toglmodule.c

📁 CNC 的开放码,EMC2 V2.2.8版
💻 C
字号:
#include <Python.h>#include <emc/usr_intf/axis/extensions/togl.c>static int first_time = 1;static Tcl_Interp *get_interpreter(PyObject *tkapp) {    long interpaddr;    PyObject *interpaddrobj = PyObject_CallMethod(tkapp, "interpaddr", NULL);    if(interpaddrobj == NULL) { return NULL; }    interpaddr = PyInt_AsLong(interpaddrobj);    Py_DECREF(interpaddrobj);    if(interpaddr == -1) { return NULL; }    return (Tcl_Interp*)interpaddr;}PyObject *install(PyObject *s, PyObject *arg) {    Tcl_Interp *trp = get_interpreter(arg);    if(!trp) {        PyErr_SetString(PyExc_TypeError, "get_interpreter() returned NULL");        return NULL;    }    if (Tcl_PkgPresent(trp, "Togl", TOGL_VERSION, 0)) {        Py_INCREF(Py_None);        return Py_None;    }    if (Tcl_PkgProvide(trp, "Togl", TOGL_VERSION) != TCL_OK) {        PyErr_Format(PyExc_RuntimeError, "Tcl_PkgProvide failed: %s", trp->result);        return NULL;    }    Tcl_CreateCommand(trp, "togl", (Tcl_CmdProc *)Togl_Cmd,                      (ClientData) Tk_MainWindow(trp), NULL);    if(first_time) {        Tcl_InitHashTable(&CommandTable, TCL_STRING_KEYS);        first_time = 0;    }    Py_INCREF(Py_None);    return Py_None;}PyMethodDef togl_methods[] = {    {"install", (PyCFunction)install, METH_O, "install togl in a tkinter application"},    {NULL}};PyMODINIT_FUNCinit_togl(void) {    Py_InitModule3("_togl", togl_methods, "togl extension for Tkinter");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -