• 6205阅读
  • 8回复

QComboBox 创建界面 [复制链接]

上一主题 下一主题
离线butcherty
 

只看楼主 倒序阅读 楼主  发表于: 2010-07-22
窗口中创建了一个label,其上面的控件想在combobox选择后有不同的显示,用如下代码出现段错误,信号直接连接的 connect(comboBoxnum, SIGNAL(activated(int)), this, SLOT(slotLabel()));
求解,谢谢

void MainWindow::slotlabel()
{
    i = comboBoxnum -> currentIndex();
    if(i == 1)
      {
    lcd = new QLCDNumber(displaylabel);
    lcd -> setNumDigits(2);
    lcd -> setSegmentStyle(QLCDNumber::Filled);
    lcd -> setGeometry(QRect(100,120,450,250));
  
    QPalette lcdp = lcd -> palette();
    lcdp.setColor(QPalette::Normal, QPalette::WindowText, Qt::red);

    lcd -> setPalette(lcdp);
  
    lcd -> setMode(QLCDNumber::Hex);

    lcd -> display(i);

    Pushadd = new QPushButton(tr("add"));
    Pushdec = new QPushButton(tr("dec"));

    Pushadd -> setGeometry(QRect(100,200,60,20));
    Pushdec -> setGeometry(QRect(100,230,60,20));
      }
}



PS:另若以在label上面创建了控件,是不是调用了delete直接删除就可以重新添加新的控件了
离线xtfllbl

只看该作者 1楼 发表于: 2010-07-22
段错误一般都是内存误操作,仔细查一下,贴出来的代码没看出什么。
上海欢迎您
离线butcherty

只看该作者 2楼 发表于: 2010-07-22
回 1楼(xtfllbl) 的帖子
我这个代码直接放到MainWindow中没问题,我直接拷贝下来粘到槽里面的
也就是说这种写法没问题吧?
离线butcherty

只看该作者 3楼 发表于: 2010-07-22
回 1楼(xtfllbl) 的帖子
段错误解决了,但是控件并没有显示,我用的displaylabel ->show();
离线butcherty

只看该作者 4楼 发表于: 2010-07-23
谁来帮个忙
离线xtfllbl

只看该作者 5楼 发表于: 2010-07-23
Re:回 1楼(xtfllbl) 的帖子
引用第3楼butcherty于2010-07-22 11:45发表的 回 1楼(xtfllbl) 的帖子 :
段错误解决了,但是控件并没有显示,我用的displaylabel ->show();

你让他show到哪里?有无给label设置layout?
上海欢迎您
离线butcherty

只看该作者 6楼 发表于: 2010-07-26
回 5楼(xtfllbl) 的帖子
还没有设置layout(),但是按键和lcd的位置定了,只是想先看下能否显示,show()直接调用不能显示吗?比较急,请指教,谢谢!
离线butcherty

只看该作者 7楼 发表于: 2010-07-27
qt窗口重绘需要调用什么函数吗?
离线butcherty

只看该作者 8楼 发表于: 2010-07-28
............
快速回复
限100 字节
 
上一个 下一个