|
class first : public QWidget
{
Q_OBJECT
public:
first( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~first();
QTabWidget* TabWidget2_text;
.....
QLabel* ant1_sensor1_text;//文本框类,想通过线程控制该文本框不断刷新想要显示的数据
....
}
界面创建程序
first::first( QWidget* parent, const char* name, WFlags fl )
: QWidget( parent, name, fl )
{
if ( !name )
setName( "first" );
resize( 734, 376 );
setCaption( tr( "Tmperature_Sensor" ) );
TabWidget2_text = new QTabWidget( this, "TabWidget2_text" );
TabWidget2_text->setGeometry( QRect( 0, 0, 430, 250 ) );
tab = new QWidget( TabWidget2_text, "tab" );
....
....
}
然后再用open按钮中创建线程
void first::open()
{
if(create_thread_flag!=0)
create_thread_flag=pthread_create(&a_thread,NULL,thread_function,NULL);
printf("create_thread_flag=%d",create_thread_flag);
}
线程函数
void *thread_function(void *arg)
{
while(!close_thread_flag)
{
first *class_test=(first *)arg;
class_test->ant1_sensor_text_steNum(9);
pthread_cancel(a_thread);
}
现在make没问题,运行后会弹出个信息框。。。。was teminated due to application error(11)
卡着几天,麻烦版主解答下,感激不尽。 |
|