//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(){}
Не пинайте ногами.
Вопрос:
как теперь узнать точно какой пункт выбран.