2014-11-21 2 views
0

의이 내가 조롱을 만든 가정 해 봅시다 :업데이트 레이블 텍스트 GTK + C++

button = gtk_button_new_with_label ("label"); 

그리고 그리드에 연결 :

다음 텍스트로 "label"에 버튼을 추가
grid = gtk_grid_new(); 

gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); 
gtk_container_add (GTK_CONTAINER (vbox), grid); 

다음과 같이 표시됩니다.

char c = 'e'; 
// And I want to update the label's text with the value stored in c. 

레이블의 이전에 설정된 텍스트를 어떻게 업데이트해야합니까?

내가 GTK +에 새로 온 사람, 나는이 질문에 대한 유감해야한다고 생각 ...하지만 여기가 ...

감사합니다!

+0

GUI 응용 프로그램에서 cin을 사용하려고하고 while 루프가 glib의 이벤트 루프를 차단하고있는 것을 감안할 때 레이블을 업데이트하는 것이 코드의 문제 중 적어도 하나라고 말하고 싶습니다. – MrEricSir

+0

나는 심지어 콘솔 전환이 어렵다는 것을 깨닫지 못했습니다 ... 문제가 업데이트되었습니다. – VohadsA

답변

1

GtkButton의 경우 gtk_button_set_label()을 사용하십시오. GtkLabel의 경우 gtk_label_set_text()을 사용하십시오.

단일 문자가 문자열이 아니므로 char을 이러한 함수에 전달할 수 없습니다. MrEricSir의 의견은 GUI 프로그램의 콘솔에서 키보드 입력을 읽으려고한다는 것을 의미합니다. 그래서 지금 내가 쓰려고하는 부분을 구체적으로 궁금해하고 있습니다 ... 기존 명령 줄 프로그램을 GUI 프로그램으로 변환하는 경우 이해하지만이 마이그레이션은 조각별로 수행하기에 너무 어렵지 않습니다. if 그게 네가하고 있었던 일이야.)

+0

혼란 스러웠습니다. 콘솔에서 문자를 UI에 바인딩하려고 시도하지 않았습니다. 문제가 해결되었습니다. 감사합니다. – VohadsA

+0

괜찮습니다. 혼란을 해결하는 것은 문제 해결에서 중요한 부분이다. = P – andlabs