qt4 clear()问题:我使用它了吗?

时间:2014-07-18 14:20:59

标签: c++ qt4

您好我是qt4的新手,我正在尝试开发一个框架,其中包含要添加到组合框中的某些主题(标签)。将主题添加到组合框是成功的但是在ceratin点我需要刷新GUI并将主题加载到其默认状态。

执行以下代码时,将调用代码本身:

ui_.refresh_topics_push_button->setIcon(QIcon::fromTheme("view-refresh")); connect(ui_.refresh_topics_push_button, SIGNAL(pressed()), this, SLOT(updateTopicList()));

通过函数updateTopicList() ui_.topic->调用clear()。但是在执行此代码时,控件会跳转到另一个函数并执行它。

请告诉我需要哪些其他信息,以便我能够正确传达情况。

2 个答案:

答案 0 :(得分:0)

我认为你的问题是你试图调用QLabel的插槽而不是函数。 您需要设置一个连接,在GUI刷新时监听信号,然后将其连接到clear的插槽,这将清除标签。

查看Qt文档中信号和插槽的信息页面,以及QLabel的功能,信号和插槽。

答案 1 :(得分:0)

我解决了问题。我在onTopicChanged()

中加入了一个检查
void onTopicchanged(int index)
{
  if(index==-1)
      return;  // until and unless on topic is 
               //changed no computation to be done in this function
  else
  {
      //Change the topic
  }
}