CubeSat 用の基本的な GROUND CONTROL STATION を作成し、コマンド (問題なし) と TELEMETRY の 2 つの部分に分けています。私は C コードと GTK を使用しています。テレメトリ ウィンドウでは、テレメトリ パケットを受信するたびに何らかの情報を表示する必要があるため、情報ごとに gtkview/gtkentry を使用しようとしましたが、表示されるメッセージを更新する方法がわかりません。
特に、例は次のとおりです。
//View PACKET NUMBER
view = gtk_text_view_new();
frame = gtk_frame_new("Packet number");
gtk_container_add(GTK_CONTAINER(frame), view);
gtk_text_view_set_editable(GTK_TEXT_VIEW(view),FALSE);
gtk_table_attach(GTK_TABLE(table2),frame,0,1,0,1,GTK_FILL,GTK_FILL,5,5);
buff = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
gtk_text_buffer_get_iter_at_offset(buff, &iter, 0);
gtk_text_buffer_insert(buff, &iter,"waiting", -1);
そのため、最初に「WAITING」というテキストがあり、次にパケットが受信されたときにそのテキストを更新したいのですが、どうすればこれを行うことができますか?
このコードを繰り返してみましたが、「パケット番号」を参照する変数で「待機」を変更しましたが、コアダンプが取得されます
私もこのコードを試しましたが、常に同じ問題があります。
viewprova = gtk_entry_new();
frameprova = gtk_frame_new("Packet number");
gtk_container_add(GTK_CONTAINER(frameprova), viewprova);
gtk_entry_set_editable(GTK_ENTRY(viewprova),FALSE);
gtk_table_attach(GTK_TABLE(table2),frameprova,0,1,0,1,GTK_FILL,GTK_FILL,5,5);
gtk_entry_set_text(GTK_ENTRY(viewprova),"waiting");
frameprova = gtk_frame_new("Packet number");
viewprova = gtk_label_new ("waiting");
gtk_container_add(GTK_CONTAINER(frameprova), viewprova);
gtk_table_attach(GTK_TABLE(table2),frameprova,0,1,0,1,GTK_FILL,GTK_FILL,5,5);
助けてくれてありがとう!