Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
nanoo
Зарегистрирован: 05.10.2007 Сообщения: 12
|
Добавлено: Чт Окт 18 2007 20:11 Заголовок сообщения: qt4 код компилится, но неработает |
|
|
#include<qapplication>
#include<qmessagebox>
#include<qpushbutton>
class hw: public QPushButton
{
Q_OBJECT
public:
hw(QWidget *parent);
public slots:
void hello();
};
hw::hw(QWidget *parent=0):QPushButton("hello world")
{
connect(this,SIGNAL(clicked()),SLOT(hello()));
}
void hw::hello()
{
QMessageBox::information(this,"hello world","hello world");
}
int main(int ac, char* av[])
{
QApplication app(ac,av);
hw mw;
mw.show();
return app.exec();
}
#include"main.moc"
--------
компилится, запускаеться, но когда нажимаешь на кнопку мэсэдж не появляеться. В чем грабри.
Спасибо. _________________ и быть, и не быть |
|
Вернуться к началу |
|
|
nanoo
Зарегистрирован: 05.10.2007 Сообщения: 12
|
Добавлено: Пт Окт 19 2007 11:41 Заголовок сообщения: |
|
|
Не помогает.
Повторяю: код компилится нормально.
если так сделать:
---------
class hw: public QWidget
{
. . . . .
hw::hw(..):QWidget(..)
{
QPushButton *but= new....
connect(but,signal,this,slot)
....
---------
работает. Но это визуально очень не хорошо выглядит - виджет сам по себе, кнопка сама по себе. А мне надо чтобы сама кнопка этим основным виджетом и была.
_________________ и быть, и не быть |
|
Вернуться к началу |
|
|
nanoo
Зарегистрирован: 05.10.2007 Сообщения: 12
|
Добавлено: Сб Окт 20 2007 12:39 Заголовок сообщения: |
|
|
У меня версия 4.2. В ней метода setMainWidget нету. Его убрали.
Может это баг в библиотеке?
ps Вы немного ашиблись. app.show()->mw.show() _________________ и быть, и не быть |
|
Вернуться к началу |
|
|
nanoo
Зарегистрирован: 05.10.2007 Сообщения: 12
|
Добавлено: Вс Окт 21 2007 15:57 Заголовок сообщения: |
|
|
проблемa была с moc. _________________ и быть, и не быть |
|
Вернуться к началу |
|
|
|