2010-05-15 3 views
0
  1. NULL gtklabel이 있습니다. 이벤트가 발생하면이 레이블에 텍스트를 설정합니다 (gtk_label_set_text 사용). 이벤트 (NULL로 재설정) 후에 gtklabel을 재설정하려면 어떻게합니까?
  2. 어떻게 GtkTextView의 최대 길이 (문자)를 설정할 수 있습니까?
  3. GtkTable에서 위젯의 여백과의 거리를 설정하는 가장 쉬운 방법은 무엇입니까? 내가 코드에서 알고있는 것처럼

답변

0
  1. , 당신은 단지 gtk_label_set_text (label, NULL)를 사용할 수 있습니다. 어떤 이유로 든 실패하는 경우 (예 : 이전 버전에서는 NULL을 허용하지 않음) ""으로 바꿉니다.
  2. 직접 입력 할 수 없습니다. 직접 삽입을 원하지 않는 경우 가장 단순한 비 직접적인 접근 방식은보기의 GtkTextBufferg_signal_stop_emission_by_name()에서 "삽입 텍스트"에 연결하는 것입니다. 절대로 시도하지 않았으므로 실제로 시도해 보았습니다.
  3. 무슨 뜻인지 확실치 않습니다. 너는 위젯 주위에 GtkAlignment을 사용하고 그것에 패딩을 설정할 수있다 - 당신이 원하는 것일 수도 아닐 수도있다.
+0

1. 이미 시도했지만 작동하지 않습니다. 나는 mylabel = gtk_label_new (NULL)을 가지며, 이벤트가 발생하면 gtk_label_set_text (GTK_LABEL (mylabel), "text")를 통해 전달 된 텍스트를 gtklabel이 표시합니다. 예를 들어, sleep (5)와 새로운 gtk_label_set_text (GTK_LABEL (mylabel), NULL)을 작성하지만, 결과는 이벤트 발생으로 5 초 후에 NULL 레이블 만 있습니다. 2-3. 나는 시도 할 것이다. – stdio

+0

@stdio : "5 초 후에 NULL 레이블 만 있습니다."- 스레딩 문제 * 또는 * 스레딩 부족 같은 것 같습니다. 디스플레이 업데이트는 별도의 메인 루프 반복에서만 발생하므로 레이블을 업데이트 한 후 5 초 동안 메인 스레드를 차단하면 메인 루프가 다른 반복을 만들 때 (예 : 5 초 후에) 업데이트됩니다. – doublep

+0

1. 널 및 텍스트 레이블을 전환하기 위해 button-press-event 및 button-release-event 신호를 사용했습니다. 2-3. 나는 너의 제안을 따랐고 모든 것이 괜찮다. 감사! – stdio