码迷,mamicode.com
首页 > Windows程序 > 详细

Qt在mainwindow下代码添加控件不能显示的问题

时间:2015-03-05 06:59:31      阅读:1216      评论:0      收藏:0      [点我收藏+]

标签:qt mainwindow不显示控件

以前在dialog或者widget下代码添加控件能显示,但是今天发现在mainwindow下居然不能显示,后来查了资料才知道,需要先定义一个widget,具体代码如下:

    QWidget *center = new QWidget(this);
    setCentralWidget(center);
    penColorComboBox = new QComboBox;
    createColorComboBox(penColorComboBox);
    penColorLabel = new QLabel(tr("pen color"));
    penColorLabel->setBuddy(penColorComboBox);

    penWidthspinbox = new QSpinBox;
    penWidthspinbox->setRange(0,20);
    penWidthspinbox->setSpecialValueText(tr("0 (cosmetic pen)"));

    penWidthLabel = new QLabel(tr("pen &width"));
    penWidthLabel->setBuddy(penWidthspinbox);

    createStyleComboBox();

    penStyleLabel = new QLabel(tr("&pen style"));
    penStyleLabel->setBuddy(penStyleComboBox);

    brushColorComboBox = new QComboBox();
    createColorComboBox(brushColorComboBox);

    brushColorLabel = new QLabel(tr("Brush Color"));
    brushColorLabel->setBuddy(brushColorComboBox);

    brushStyleComboBox = new QComboBox;
    brushStyleComboBox->addItem(tr("None"),Qt::NoBrush);


    brushStyleLabel = new QLabel(tr("&Brush Style"));
    brushStyleLabel->setBuddy(brushStyleComboBox);

    preLabel = new QLabel(this);

    connect(penColorComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(penchange()));
    connect(penWidthspinbox,SIGNAL(valueChanged(int)),this,SLOT(brushchange()));
    connect(penStyleComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(penchange()));
    connect(brushColorComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(brushchange()));
    connect(brushStyleComboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(brushchange()));
    //connect(this,SIGNAL(penchange(QPen&)),;

    QGridLayout *mainlayout=new QGridLayout(center);
    mainlayout->addWidget(penColorLabel,0,0,Qt::AlignRight);
    mainlayout->addWidget(penColorComboBox,0,1);
    mainlayout->addWidget(penWidthLabel,1,0,Qt::AlignRight);
    mainlayout->addWidget(penWidthspinbox,1,1);
    mainlayout->addWidget(penStyleLabel,2,0,Qt::AlignRight);
    mainlayout->addWidget(penStyleComboBox,2,1);
    mainlayout->addWidget(brushColorLabel,3,0,Qt::AlignRight);
    mainlayout->addWidget(brushColorComboBox,3,1);
    mainlayout->addWidget(brushStyleLabel,4,0,Qt::AlignRight);
    mainlayout->addWidget(brushStyleComboBox,4,1);
    mainlayout->addWidget(preLabel,5,0,6,2);


    setLayout(mainlayout);


Qt在mainwindow下代码添加控件不能显示的问题

标签:qt mainwindow不显示控件

原文地址:http://jwj123.blog.51cto.com/4248955/1617402

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!