Я новичок в C ++ / Tk и хочу передать переменную, которая определена в C ++, в атрибут команды в кнопке.
При этом я публикую фрагмент кода.
int eoutputvar ;
stringstream ss ;
string setquery ;
ss.str( "set eoutputvar 10" ) ;
setquery = ss.str() ;
entry(".eoutput") -textvariable(eoutputvar) -width(20) ;
button(".b1") -text("click it") -command( setquery );
pack(".eoutput" ) -side("left") ;
Моя цель здесь — установить eoutputvar виджета входа при нажатии кнопки.
Вы должны объявить свои переменные как extern "C"
,
extern "C" {
int eoutputvar;
char *setquery;
}
setquery
Параметр также должен быть переменной «C» и не может быть объявлен как string
, Так как в этом ответ:
setquery = ss.c_str();