//mypopdate.h #include <qwidget.h> #include <qpopupmenu.h> #include <qaction.h> #include <qpushbutton.h> class mypopdate : public QWidget { Q_OBJECT public: mypopdate( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); ~mypopdate(); QPushButton *knopka_date; QPopupMenu *menu_date; QPopupMenu *menu_date1; QPopupMenu *menu_date1_1[10]; QPopupMenu *menu_date2; QPopupMenu *menu_date2_1[12]; QPopupMenu *menu_date3; public slots: void setdata(/*int*/); private: int menu_dateID; int menu_date1ID[10]; int menu_date1_1ID[10]; int menu_date2ID[12]; int menu_date2_1ID[12]; int menu_date3ID[31]; }; //mypopdate.cpp #include "mypopdate.h" #include <qstring.h> #include <qsize.h> const char *number_year[]={"0","1","2","3","4& quot;,"5","6","7","8","9"}; const char *number_mont[]={"01 Январь", "02 Февраль", "03 Март", "04 Апрель", "05 Май", "06 Июнь", "07 Июль", "08 Август", "09 Сентябрь", "10 Октябрь", "11 Ноябрь", "12 Декабрь"}; const char *number_day[]= {"01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"}; #define rus(char) QString::fromLocal8Bit(char) mypopdate::mypopdate( QWidget* parent, const char* name, WFlags fl ) : QWidget( parent, name, fl ) { int i; QString tempstr; QFont tempfont( QFont("Tahoma", 10) ); QFontMetrics fm( tempfont ); knopka_date = new QPushButton(rus("От"),this); knopka_date->setFont(tempfont); knopka_date->setGeometry(0, 0, fm.width(rus("Год"))+20, fm.height()+5); resize(knopka_date->size()); menu_date=new QPopupMenu (this); menu_date1=new QPopupMenu (this); menu_date2=new QPopupMenu (this); menu_date3=new QPopupMenu (this); //menu_date3->setFixedWidth(5); for( i=0; i<31; i++ ) { menu_date3ID[i]=menu_date3->insertItem(rus(number_day[i])); } for( i=0; i<12; i++ ) { menu_date2_1[i]=new QPopupMenu (this); menu_date2_1ID[i]=menu_date2_1[i]->insertItem(rus("День"), menu_date3); menu_date2ID[i]=menu_date2->insertItem(rus(number_mont[i]), menu_date2_1[i]); } for( i=0; i<10; i++ ) { menu_date1_1[i]=new QPopupMenu (this); menu_date1_1ID[i]=menu_date1_1[i]->insertItem(rus("Meсяц"), menu_date2); menu_date1ID[i]=menu_date1->insertItem(rus(number_year[i]), menu_date1_1[i]); } menu_dateID=menu_date->insertItem(rus("Год"), menu_date1); knopka_date->setPopup(menu_date); } mypopdate::~mypopdate(){} Не пинайте ногами. Вопрос: как теперь узнать точно какой пункт выбран.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум не пашут слоты (2003)
- Форум Object::connect: No such slot QLCDNumber::display(3) (2009)
- Форум Qt: передать значение из QLineEdit в глобальную переменную (2012)
- Форум И в последний раз о передаче виджета :( (2005)
- Форум Помогите ламеру с Qstring (2006)
- Форум Рисование в Qt 4 (2007)
- Форум Проблема с отображением табов у QTabWidget (2014)
- Форум [QT] subclassing (2009)
- Форум Проблема с ALSA (2010)
- Форум dockwindow's (2003)