Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. How to Develop a Calendar Widget.
Forum Updated to NodeBB v4.3 + New Features

How to Develop a Calendar Widget.

Scheduled Pinned Locked Moved Mobile and Embedded
119 Posts 11 Posters 100.5k Views 1 Watching
  • 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.
  • A Offline
    A Offline
    andre
    wrote on last edited by
    #92

    Why don't you use the QCalendarWidget sources as inspiration for that?

    1 Reply Last reply
    0
    • B Offline
      B Offline
      BorahAnshuman
      wrote on last edited by
      #93

      hello andre

      thanks for ur reply..

      Actually i hv been go through that source code..but i havent found any idea regarding setting of background image in particular cell..and as u said that to set an image in a particular cell we hv to implement paintcell to do the rendering of each cell…but hw this can be done..can u give me an idea for that

      with regards
      Anshuman

      1 Reply Last reply
      0
      • G Offline
        G Offline
        goetz
        wrote on last edited by
        #94

        The signature of the method is:

        @
        QCalendarWidget::paintCell(QPainter *painter, const QRect &rect, const QDate &date)
        @

        So, I suggest you have a look at QPainter's drawImage(), drawPixmap() and drawPicture() methods.

        http://www.catb.org/~esr/faqs/smart-questions.html

        1 Reply Last reply
        0
        • A Offline
          A Offline
          andre
          wrote on last edited by
          #95

          You know what? Perhaps you should look into this yourself. Did you look in the documentation for QPainter?

          1 Reply Last reply
          0
          • I Offline
            I Offline
            imrrk
            wrote on last edited by
            #96

            hey volker through paintcell method can we add image to the particular cells in calendarwidget?.in my project i have directly taken the qcalendarwidget and dragged it in the form,so how i should implement it.

            regards
            imrrk

            1 Reply Last reply
            0
            • G Offline
              G Offline
              goetz
              wrote on last edited by
              #97

              [quote author="imrrk" date="1303207582"]hey volker through paintcell method can we add image to the particular cells in calendarwidget..
              [/quote]

              You know the meaning of the sign "?", don't you? If so, then please use it appropriately, if not, please look up in google.

              And now, please read the documentation on QPainter. We will not do this for you, this is your part! It has all the information you need and to start playing around.

              http://www.catb.org/~esr/faqs/smart-questions.html

              1 Reply Last reply
              0
              • Z Offline
                Z Offline
                ZapB
                wrote on last edited by
                #98

                Please just try it. Andre and Volker are not your personal assistants. They have even told you which QPainter calls to read up on. The clue is in the name QPainter::drawPixmap()!

                Nokia Certified Qt Specialist
                Interested in hearing about Qt related work

                1 Reply Last reply
                0
                • I Offline
                  I Offline
                  imrrk
                  wrote on last edited by
                  #99

                  i know volker,fine,i will read the doc and get back to you with my code..

                  regards
                  imrrk

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    BorahAnshuman
                    wrote on last edited by
                    #100

                    hello volker

                    actually i had read about QPainters but doesnt know hw to implement it..from where to start

                    i had given a code,,u plz check it whether its ok to work or not..

                    @QPainter* pPainter = new QPainter(this);
                    pPainter->drawPixmap(rect(), QPixmap(":/images/bg.png"));@

                    after that what should i do cant find it
                    regards

                    Anshuman

                    1 Reply Last reply
                    0
                    • G Offline
                      G Offline
                      goetz
                      wrote on last edited by
                      #101

                      Read the docs. If you really do so, you will find a link to an example that even contains drawing pixmaps. Grab it, play with it, adapt it. This all is really basic stuff, explained multiple times in the docs with uncountable examples in the docs. We're not going to do your homework!

                      http://www.catb.org/~esr/faqs/smart-questions.html

                      1 Reply Last reply
                      0
                      • A Offline
                        A Offline
                        andre
                        wrote on last edited by
                        #102

                        imrrk and/or Anshuman:

                        I am really done with this thread. Please do all of us here, including first and foremost yourself, a big favor, and get yourself enrolled in a good programming course in C++. If they use Qt, than that is a bonus, but that is not even needed. Otherwise, perhaps you should draft up a document describing what you want to achieve (not how you want to do that), and get yourself a consultant to do the work for you. I think a good one can do what you have achieved in the course of weeks of postings and copy/pasting snippets you have managed to beg of the contributers here in a matter of an hour or so. As it stands, I doubt you are able to ever complete whatever project you are on, and I feel spending any more time on this issue is a waste.

                        All the best of luck, I am signing off.

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          BorahAnshuman
                          wrote on last edited by
                          #103

                          ok..volker and /andre..thanks..i will try my level b est in doing so..but if any doubt arises i will ask u..

                          with regards
                          Anshuman

                          1 Reply Last reply
                          0
                          • G Offline
                            G Offline
                            goetz
                            wrote on last edited by
                            #104

                            [quote author="BorahAnshuman" date="1303210680"]ok..volker and /andre..thanks..i will try my level b est in doing so..but if any doubt arises i will ask u..

                            with regards
                            Anshuman[/quote]

                            You (in plural or singular meaning - choose whatever you want) may ask, but don't expect any further answers. I step out too.

                            http://www.catb.org/~esr/faqs/smart-questions.html

                            1 Reply Last reply
                            0
                            • B Offline
                              B Offline
                              BorahAnshuman
                              wrote on last edited by
                              #105

                              Hello Volker

                              as per ur suggestion i hv read QPainter class in QT..as per ur discussion i hv tried this code in setting backgroundImage in a particular cell in CalenderWidget but an error occur..cn u please check the error..

                              @void PainterApp::paintEvent(QPaintEvent *)
                              {
                              QPainter painter(this);
                              QRectF target(30.0, 40.0, 80.0, 60.0);
                              QRectF source(30.0, 40.0, 70.0, 40.0);
                              QImage image("C:/QTWork/back-icon.png");

                                painter.drawImage(target, image, source);
                              
                                ui->calendarWidget->paintCell(painter,target,QDate::currentDate());
                              
                               painter.end();
                              

                              }@

                              regards
                              Anshuman

                              1 Reply Last reply
                              0
                              • V Offline
                                V Offline
                                vinb
                                wrote on last edited by
                                #106

                                Why u using a paint event handler to do the painting?
                                And if you ask to check the error, then why i dont see any output?
                                Pleae post your error, or even better make a small app in wich your problem occurs and post it.

                                Edit:
                                On a site where trolls are super admin, it doesnt mean that you must "troll" yourself.

                                1 Reply Last reply
                                0
                                • Z Offline
                                  Z Offline
                                  ZapB
                                  wrote on last edited by
                                  #107

                                  What are you doing? To get custom painting do this:

                                  Derive a class from QCalendarWidget

                                  Reimplement the paintCell() protected virtual function to do you custom painting

                                  Use your custom class in your app instead of QCalendarWidget

                                  When you reimplement the paintCell() function I suggest you make the changes from the base class version very incrementally so that you can see what the changes do and learn as you go along.

                                  Nokia Certified Qt Specialist
                                  Interested in hearing about Qt related work

                                  1 Reply Last reply
                                  0
                                  • G Offline
                                    G Offline
                                    goetz
                                    wrote on last edited by
                                    #108

                                    [quote author="BorahAnshuman" date="1303294092"]Hello Volker

                                    as per ur suggestion i hv read QPainter class in QT..as per ur discussion i hv tried this code in setting backgroundImage in a particular cell in CalenderWidget but an error occur..cn u please check the error..

                                    regards
                                    Anshuman[/quote]

                                    What was so unclear about my last statement?

                                    [quote author="Volker" date="1303212502"]
                                    You (in plural or singular meaning - choose whatever you want) may ask, but don't expect any further answers. I step out too.[/quote]

                                    Are you trying to troll me?

                                    http://www.catb.org/~esr/faqs/smart-questions.html

                                    1 Reply Last reply
                                    0
                                    • B Offline
                                      B Offline
                                      BorahAnshuman
                                      wrote on last edited by
                                      #109

                                      hello ZapB

                                      Actually i inherit Qdialog and QCalenderWidget class..now when i build my app the following error ocurrs...can anyone suggest me why is occur..

                                      Error r....

                                      Rquest for member show() is ambiguous //show in main .cpp

                                      the code i hv wrritten is:

                                      @class PainterApp : public QDialog,public QCalendarWidget
                                      {
                                      Q_OBJECT

                                      public:
                                      explicit PainterApp(QWidget *parent = 0);
                                      ~PainterApp();

                                      private:
                                      Ui::PainterApp *ui;
                                      };
                                      @
                                      @void PainterApp::paintCell(QPainter * painter, const QRect & rect, const QDate & date ) const{

                                      QRectF target(30.0, 40.0, 80.0, 60.0);
                                      QRectF source(30.0, 40.0, 70.0, 40.0);
                                      QImage image("C:/QTWork/back-icon.png");
                                      
                                      
                                      painter->drawImage(target, image, source);
                                      ui->calendarWidget->paintCell(painter,rect,date.currentDate());
                                      

                                      }@
                                      with reagrds
                                      Anshuman

                                      1 Reply Last reply
                                      0
                                      • I Offline
                                        I Offline
                                        imrrk
                                        wrote on last edited by
                                        #110

                                        hello anshuman
                                        bq. class PainterApp : public QDialog,public QCalendarWidget

                                        this should in this way
                                        class PainterApp : public QDialog,public Ui::Dialog//name of your form..

                                        1 Reply Last reply
                                        0
                                        • Z Offline
                                          Z Offline
                                          ZapB
                                          wrote on last edited by
                                          #111

                                          That's because you are trying something that is not allowed and makes no sense when you think about it. The calendar widget will be shown within a dialog. The calendar widget is not a dialog. So use composition not inheritcance for the dialog aspect.

                                          @
                                          class MyCalendarWidget : public QCalendarWidget
                                          {
                                          ...
                                          protected:
                                          virtual void paintCell(QPainter* painter, const QRectF& rect, const QDate& date)
                                          {
                                          // Do custom painting here!!! See base class for default implementation and ideas
                                          }
                                          };

                                          ...
                                          ...
                                          ...

                                          class MyDialog : public QDialog
                                          {
                                          ...
                                          };
                                          @

                                          Nokia Certified Qt Specialist
                                          Interested in hearing about Qt related work

                                          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