Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Zapis wybranej daty w QDateTimeEdit lub QCalendarWidget do Stringa

    Polish
    2
    3
    2088
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pol102 last edited by

      Witam!

      Jestem początkującym gamoniem, dla którego Qt jest jak książka napisana w języku obcym. Wcześniej programowałem blisko sprzętu w ASMie i mam aktualnie straszne przeboje z cpp zwłaszcza, że znajomość Qt jest mi niezbędna do napisania pracy inżynierskiej.

      @#include "mainwindow.h"
      #include "ui_mainwindow.h"
      #include <QtGui>
      #include <QtCore>

      MainWindow::MainWindow(QWidget *parent) :
      QMainWindow(parent),
      ui(new Ui::MainWindow)
      {
      ui->setupUi(this);

      }

      MainWindow::~MainWindow()
      {
      delete ui;
      }

      //miejsce które mnie intryguje
      void MainWindow::on_pushButton_clicked()
      {

      QString tuna = ui->lineEdit->text();
      ui->label->setText(tuna);
      

      }
      @

      Motyw jaki mnie intryguje jest taki: chcę by po naciśnięciu buttona (clicked) jakaś metoda pobrała datę z QDataTimeEdit (ewentualnie z QCalendar) i zapisała to jako zmienną (String)

      Jak widać na wyżej umieszczonym kodzie umiem pobrać tekst z lineEdit i generalnie próbowałem zrobić to w podobny sposób z datą, jednakże nieskutecznie. Jest to dla mnie istotne gdyż chciałbym móc potem obliczać różnice czasowe między dwoma zdefiniowanymi datami(tudzież czasami).

      1 Reply Last reply Reply Quote 0
      • Chris Kawa
        Chris Kawa Moderators last edited by

        Jeśli chcesz wykonywać jakiekolwiek operacje (porównywanie, odejmowanie, dodawanie) na dacie/czasie z QDateTimeEdit'a to nie ma sensu trzymać ich jako napis (QString).

        Datę i czas lepiej trzymać w odpowiednich formatach: QDate, QTime lub QDateTime. Na obiekcie typu QDateTimeEdit masz odpowiednio metody date(), time() i dateTime() pobierające te wartości.

        Konwersję np. QDateTime do QString w celu wyświetlenia robi się za pomocą metody toString(...), a w drugą stronę fromString(...).

        Przykład:
        @QDateTime dateTime = ui->dateTimeEdit->dateTime();
        QDateTime dateTimeMod = dateTime.addYears(1).addSecs(360);
        QString displayedValue = dateTimeMod.toString("dd.MM.yyyy hh:mm:ss");
        ui->label->setText(displayedValue);@

        1 Reply Last reply Reply Quote 0
        • P
          pol102 last edited by

          Dziękuję! To właśnie wyjaśniło mi sprawę :)

          1 Reply Last reply Reply Quote 0
          • First post
            Last post