Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Polish
  4. Zapis wybranej daty w QDateTimeEdit lub QCalendarWidget do Stringa

Zapis wybranej daty w QDateTimeEdit lub QCalendarWidget do Stringa

Scheduled Pinned Locked Moved Polish
3 Posts 2 Posters 2.3k Views
  • 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 Offline
    P Offline
    pol102
    wrote on last edited by
    #1

    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
    0
    • Chris KawaC Offline
      Chris KawaC Offline
      Chris Kawa
      Lifetime Qt Champion
      wrote on last edited by
      #2

      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
      0
      • P Offline
        P Offline
        pol102
        wrote on last edited by
        #3

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

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved