(SOLVED)QT4 i dzien tygodnia (QDate||QDateEdit)

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
TomaszO
Sędziwy Jeż
Sędziwy Jeż
Posty: 61
Rejestracja: 30 paź 2009, 12:47
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

(SOLVED)QT4 i dzien tygodnia (QDate||QDateEdit)

Post autor: TomaszO »

Hej
Walcze z datami i wygrac nie moge.
w konstruktorze wszystko dziala jak trzeba. Program sie wlancza i pokazuje w spinbox, combo box, spinbox_2, i w labelu (dzien tygodnia) cala date.
W tej chwili pisze funkcje dla spinboxow i combobox, ktora ma w labelu pokazywac dzien tygodnia... i schody...

Kod: Zaznacz cały

void MainWindow::popraw_dzien_z_podu_zmiany_daty()
{int dzien;
 int miesiac;
 int rok;
 int weekday;
 dzien=ui->spinBox->value();
 miesiac=ui->comboBox->currentIndex()-1;
 rok=ui->spinBox_2->value();
 weekday=//? 

//ui->label_19->setText(??);
}
pytanie brzmi jak to zrobic zeby label 19 pokazywal dzien tygodnia uzalezniony od daty w widgetow?
simonnam
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 104
Rejestracja: 03 sty 2007, 22:02
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: QT4 i dzien tygodnia (QDate||QDateEdit)

Post autor: simonnam »

Wykorzystaj sygnały i sloty. QLabel posiada slot setText, z kolei QSpinBox ma sygnał valueChanged.
Zachęcam do przejrzenia dokumentacji Qt.
Awatar użytkownika
TomaszO
Sędziwy Jeż
Sędziwy Jeż
Posty: 61
Rejestracja: 30 paź 2009, 12:47
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86

Odp: QT4 i dzien tygodnia (QDate||QDateEdit)

Post autor: TomaszO »

Wiem jak uzywac spinbox i combobox niewiem jak ze zminnych :rok miesiac dzien, utworzyc date i z tej daty wyciagnac dzien tygodnia.
myslalem o czyms takim:

Kod: Zaznacz cały

void MainWindow::popraw_dzien_z_podu_zmiany_daty()
{int dzien;
 int miesiac;
 int rok;
 int weekday;
 dzien=ui->spinBox->value();
 miesiac=ui->comboBox->currentIndex()-1;
 rok=ui->spinBox_2->value();
 
[color=Red]QDate pokaz;
pokaz.setDate(rok,miesiac,dzien);
ui->label_19->setText(QDateEdit::date(QDate::longDayName(weekday)));}
[/color]
Ale tak nie dziala ...
tak naprawde rozchodzi sie o utworzenie daty ze zmiennych rok, dzien, miesiac i wyciagniecie z niej dnia tygodnia, ktory ma byc pokazany w labelu

EDIT:
Problem rozwiazany. Funkcja wyglada tak:

Kod: Zaznacz cały

int dzien;
    int miesiac;
    int rok;
    int weekday;

    dzien=ui->spinBox->value();
    miesiac=ui->comboBox->currentIndex()+1;
    rok=ui->spinBox_2->value();
    weekday=QDate(rok,miesiac,dzien).dayOfWeek();

    ui->label_19->setText(QDate().longDayName(weekday));
oks pozdrawiam
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości