sich verändernde Daten im window ausgeben
-
Hallo zusammen,
habe folgendes kleines Programm zur Heizungssteuerung, welches derzeit alle 3min Meldungen auf der Konsole ausgibt.using namespace std; int main() { Relaiskarte MeineKarte; Temperatur MeineTemperatur; int aussen, vorgabe, vorlauf, kessel, diff; // Vorlaufpumpe einschalten MeineKarte.Vorlaufpumpe(1); // Hauptschleife, alle 3 min for(;;) { aussen = MeineTemperatur.aussen(); vorgabe = MeineTemperatur.vorgabe_vorlaufTemp(aussen); vorlauf = MeineTemperatur.vorlauf(); kessel = MeineTemperatur.kessel(); std::cout << "aussen: " << aussen << "\n"; std::cout << "Vorgabe vorlauf : " << vorgabe << "\n"; std::cout << "akt. Vorlauf: " << vorlauf << "\n"; std::cout << "akt. Kessel: " << kessel << "\n"; if(vorlauf < vorgabe) { std::cout << "Vorlauftemperatur zu niedrig\n"; diff = vorgabe - vorlauf; std::cout << "Differenz : " << diff << "\n"; MeineKarte.waermer(diff); } else if(vorlauf > vorgabe) { std::cout << "Vorlauftemperatur zu hoch\n"; diff = vorlauf - vorgabe; std::cout << "Differenz : " << diff << "\n"; MeineKarte.kaelter(diff); } else { std::cout << "nichts zu tun! >> weiterschlafen\n"; } sleep(180); } // Ende Hauptschleife }
Dem Ganzen möchte ich eine graf. Oberfläche verpassen und habe mich in GTK+ eingelesen.
Hatte nun gedacht, soetwas in einem Label anzuzeigen. Hier mal ein Beispiel aus einer Anleitung.#include <gtk/gtk.h> int main( int argc, char *argv[] ) { GtkWidget *window; GtkWidget *hbox; GtkWidget *vbox; GtkWidget *frame; GtkWidget *label; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_default_size(GTK_WINDOW(window), 600, 400); gtk_window_set_title(GTK_WINDOW(window), "Heizungssteuerung"); vbox = gtk_vbox_new (FALSE, 5); hbox = gtk_hbox_new (FALSE, 5); gtk_container_add (GTK_CONTAINER (window), hbox); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); frame = gtk_frame_new ("Temperaturanzeige"); label = gtk_label_new ("Hier kommen nun die Meldeungen"); gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); gtk_widget_show_all (window); g_signal_connect(window, "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_main (); return 0; }
Habe nun aber noch nicht verstanden, wie ich die Ausgabe/Anzeige alle 3min aktualisiere.
Vielleicht kann mir da mal jemand auf die Sprünge helfen.Gruß
Bernd
-