⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mywindow.cpp

📁 一大堆的qt程序,在qte2.3.7下全部可以很好地运行
💻 CPP
字号:
#include <mywindow.h>#include <qlabel.h>#include <stdio.h>MyWindow::MyWindow(QWidget *parent, const char *name)		:QScrollView(parent,name){	setCaption("swj");           //标题//建菜单	QPopupMenu *settings = new QPopupMenu;	settings->insertItem("parameter",this,SLOT(conf_parameter()));	settings->insertItem("plan",this,SLOT(select_phase_num()));		QPopupMenu *simulate = new QPopupMenu;	simulate->insertItem("show",this,SLOT(simulate()));	QMenuBar *menu = new QMenuBar(this);	menu->insertItem("settings",settings);	menu->insertItem("simulate",simulate);}void MyWindow::conf_parameter()               //配置参数{	conf_parameter_frame = new QWidget(0);	conf_parameter_frame->setGeometry(50,100,180,200);	QLabel *label = new QLabel("global parameter",conf_parameter_frame);	label->setGeometry(50,10,120,30);	QLabel *f_label_g = new QLabel("green flash",conf_parameter_frame);	f_label_g->setGeometry(10,50,70,20);	box_green_flash = new QSpinBox(conf_parameter_frame);	box_green_flash->setGeometry(100,50,50,20);	QLabel *b_label_g = new QLabel(" s",conf_parameter_frame);	b_label_g->setGeometry(150,50,30,20);	QLabel *f_label_y = new QLabel("   yellow",conf_parameter_frame);	f_label_y->setGeometry(10,80,70,20);	box_yellow = new QSpinBox(conf_parameter_frame);	box_yellow->setGeometry(100,80,50,20);	QLabel *b_label_y = new QLabel(" s",conf_parameter_frame);	b_label_y->setGeometry(150,80,30,20);	QLabel *f_label_r = new QLabel("   all red",conf_parameter_frame);	f_label_r->setGeometry(10,110,70,20);	box_all_red = new QSpinBox(conf_parameter_frame);	box_all_red->setGeometry(100,110,50,20);	QLabel *b_label_r = new QLabel(" s",conf_parameter_frame);	b_label_r->setGeometry(150,110,50,20);	QPushButton *para_ok_button = new QPushButton("ok",conf_parameter_frame);	para_ok_button->setGeometry(60,150,80,30);	connect(para_ok_button,SIGNAL(clicked()),this,SLOT(save_parameter()));	conf_parameter_frame->show();}void MyWindow::save_parameter(){	green_flash = box_green_flash->value();	yellow = box_yellow->value();	all_red = box_all_red->value();//	printf("%d   %d   %d",green_flash,yellow,all_red);	conf_parameter_frame->close();}void MyWindow::select_phase_num(){        select_phase_frame = new QWidget(0);        select_phase_frame->setGeometry(50,100,180,80);	QLabel *label = new QLabel("how many phases?",select_phase_frame);	label->setGeometry(10,10,120,30);        phase_num =  new QSpinBox(select_phase_frame);        phase_num->setGeometry(120,20,50,20);	QPushButton *ok_button = new QPushButton("ok",select_phase_frame);	ok_button->setGeometry(70,50,50,20);	phase_num->setValue(4);	connect(ok_button,SIGNAL(clicked()),this,SLOT(phase_num_ok_process()));	select_phase_frame->show();}void MyWindow::conf_phase(){        QWidget *parameter = new QWidget(this);        parameter->setGeometry(0,20,400,300);	char string[10];	QLabel *f_label[phase_number];	QLabel *m_label[phase_number];	QLabel *b_label[phase_number];	QLabel *direc_label[4];		QSpinBox *box[phase_number];	int x=10;	int y=30;	int height = 30;	int width = 60;	direction_number = 4;	for(int k=1; k<=4; k++)	{		sprintf(string,"direction%d",k);		direc_label[k] = new QLabel(string,parameter);		direc_label[k]->setGeometry(x+width*k,5,width,height);	}	QPopupMenu *selectmenu[phase_number][4];	QPushButton *pushbutton[phase_number][4];	for(i=0; i<phase_number; i++)	{		sprintf(string,"phase %d:",i+1);		f_label[i] = new QLabel(string,parameter);		f_label[i]->setGeometry(x,y+i*height,width,height);					for(j=0; j<direction_number; j++)		{			pushbutton[i][j] = new QPushButton("select",parameter);			pushbutton[i][j]->setGeometry(x+width*(j+1),y+i*height,width,height);			selectmenu[i][j] = new QPopupMenu;			selectmenu[i][j]->insertItem("left",this,SLOT(data_process()));			selectmenu[i][j]->insertItem("straight",this,SLOT(data_process()));			selectmenu[i][j]->insertItem("left & straight ",this,SLOT(data_process(pushbutton[i][j]->x())));			selectmenu[i][j]->insertItem("stop",this,SLOT(data_process()));			pushbutton[i][j]->setPopup(selectmenu[i][j]);			printf("i=%d,j=%d",i,j);					}				m_label[i] = new QLabel("  last",parameter);		m_label[i]->setGeometry(x+5*width,y+i*height,width-30,height);		box[i] = new QSpinBox(parameter);		box[i]->setGeometry(x+6*width-30,y+i*height+5,width-20,height-10);		box[i]->setMaxValue(200);		b_label[i] = new QLabel("s",parameter);		b_label[i]->setGeometry(x+7*width-50,y+i*height,width,height);	}	parameter->show();}void MyWindow::simulate(){	QPushButton *button = new QPushButton("asdfasdf",this);	button->setGeometry(50,50,50,30);	button->show();}void MyWindow::phase_num_ok_process(){	phase_number = phase_num->value();	select_phase_frame->close();	conf_phase();}void MyWindow::data_process(int ii){	for(int i=0;i<ii;i++)	{		QPushButton *b = new QPushButton("sdfsdf",this);		b->setGeometry(50,50*i,60,40);		b->show();	}//	data[ii][jj]=5;//	printf("data[%d][%d]=%d",ii,jj,data[ii][jj]);//	data[phase_number][direction_number]=5;//	printf("phase_number=%d,direction_number=%d,data[phase_number][direction_number]=%d",phase_number,direction_number,data[phase_number][direction_number]);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -