您好我是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()。但是在执行此代码时,控件会跳转到另一个函数并执行它。
请告诉我需要哪些其他信息,以便我能够正确传达情况。
答案 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
}
}