crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QPushButton попытки заблокировать кнопку., QPushButton попытки заблокировать кнопку.
Гость_metronix_*
сообщение 1.5.2008, 20:52
Сообщение #1





Гости








    


Добрый день.. столкнулся с маленькой проблемой. Трубется заблокировать кнопку сразу после нажатия, обработать некоторую операцию а потом сделать кнопку свова доступной).

Создал кнопку

QPushButton* b_ok = new QPushButton("Ok");

//Замкнул на слот
connect(b_ok, SIGNAL(clicked()), this, SLOT(obrabotka()));

//Написал слот-функцию,
void obrabotka()
{
             b_ok->setEnabled(false);
// здесь будут операции
             b_ok->setEnabled(true);

}

но при каких либо попытках сделать кнопку ненажимаемой ничего не получается=(
Кто-нибудь подскажите в чём может быть проблема?? Если писать b_ok->setEnabled(false); например в конструкторе то всё замечательно работает... неужели нельзя изменять объект которы послужил источником сигнала??

Также возник вопрос.. а какие операции необходимо произвести чтобы перенести приложение на другую машину? Если есть возможность скиньте ссылочку где можно почитать про это.
Заранее спасибо.
Причина редактирования: пользуйтесь тэгом cod=cpp
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Гость_metronix_*
сообщение 1.5.2008, 21:23
Сообщение #2





Гости








    


// window_mine.cpp
Window_mein::Window_mein(QWidget *pwgt) : QWidget(pwgt)
{
    QPushButton* b_ok = new QPushButton("Ok");
          
    connect(b_ok, SIGNAL(clicked()), this, SLOT(obrabotka()));
            / / инициализация лайотов создания других виджетов и присоединение их к этому классу опущены
    
    
}

void Window_mein::obrabotka()
{
//    b_ok->setEnabled(false);

//    b_ok->setEnabled(true);
}


// window_mein.h
#ifndef __WINDOW_MIEM_
#define __WINDOW_MIEM_

#include <QtGui>
#include <QWidget>

class Window_mein : public QWidget{
Q_OBJECT

public:
    /// другие виджеты
    QPushButton* b_ok;

public:

    Window_mein(QWidget* pwgt = 0);

public slots:

    void obrabotka();
};
#endif


Программа запускается, все виджеты отображаются и всё работает НО если нажимаю на кнопку то происходит ошибка.. main.cpp я также писать здесь не стал ибо в нм ничего интересного...
Причина редактирования: тэги
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 13.11.2024, 0:54