Название: Получить доступ к элементам формы Отправлено: Shu-Shu от Апрель 30, 2011, 03:27 Как получить доступ к компонентам формы из обычной функции? Просто так, понятное дело, доступ к виджетам не получить. Если через неймспейс, то пишет что-то типа "invalid use of non-static data member..." Я уже голову сломал, хотя решение скорее всего очевидное...
Название: Re: Получить доступ к элементам формы Отправлено: RoulanD от Апрель 30, 2011, 05:24 Тебе нужно получить доступ к виджетам которые ты на форме создал? Если да то через ui.
Код
Название: Re: Получить доступ к элементам формы Отправлено: Shu-Shu от Апрель 30, 2011, 17:16 "ui was not declared in this scope"
static unsigned __stdcall ThreadFunc1(void*) { WaitForSingleObject(hMutex,INFINITE); while(file.get(c)) textEdit->append((QString)c); //ругается вот на это ReleaseMutex(hMutex); return(0); } это функция потока и очень желательно изменять textEdit именно в ней... использую для гуи множественное наследование, если это как-то может помочь Название: Re: Получить доступ к элементам формы Отправлено: Fat-Zer от Апрель 30, 2011, 17:31 а про инкапсуляцию вам мама в детстве ничего не рассказывала?
и с интерфейсом можно общаться только из главного потока... Название: Re: Получить доступ к элементам формы Отправлено: Shu-Shu от Апрель 30, 2011, 19:30 а про инкапсуляцию вам мама в детстве ничего не рассказывала? Все данные и методы класса открыты.и с интерфейсом можно общаться только из главного потока... Впрочем уже неважно, проблема решилась: static unsigned __stdcall ThreadFunc1(void* w) { WaitForSingleObject(hMutex,INFINITE); while(file.get(c)) ((Lab*)w)->textEdit->append((QString)c); ReleaseMutex(hMutex); return(0); } где Lab - класс гуи всем спасибо за внимание Название: Re: Получить доступ к элементам формы Отправлено: lit-uriy от Апрель 30, 2011, 21:17 какой-то насорог_с_бульдогом получился.
|