Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Qt 4...  (Прочитано 2312 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Fender Stratocaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Qt 4...
« : 23 Сентябрь 2008, 23:29:43 »
Всем привет!
Есть прога которая выводит на экран кнопку и лабел...
когда жмешь на кнопку текст лабела должен измениться...)
всё в общем просто))
хочу сделать на подобе такого...
/*main.cpp*/
#include <QApplication>
#include <window.h>

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

Window window;
window.setGeometry(100, 100, 500, 300);
window.show();
return app.exec();
}
/*window.h*/
#ifndef WINDOW_H
#define WINDOW_H

#include <QWidget>

class Window : public QWidget
{
Q_OBJECT

public:
Window(QWidget *parent = 0);
};

 #endif
/*window.cpp*/#include <QApplication>
#include <QPushButton>
#include <QWidget>

class Window::Window(QWidget *parent) : QWidget(parent)
{
QPushButton *button = new QPushButton(tr("Quit"));
QObject::connect(quit, SIGNAL(clicked()), qApp, SLOT(quit()));
}
но это только как нужно сделать, а так эта штука не работает)
сам кт только начал изучать...
Помогите кто чем может!
« Последнее редактирование: 23 Сентябрь 2008, 23:42:43 от Fender Stratocaster »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Qt 4...
« Ответ #1 : 24 Сентябрь 2008, 12:45:00 »
Ну и где собственно лейбла в исходниках?
Ну и где слот который собственно меняет текст на лейбле??? Из воздуха скастуется?
Почитай doc.trolltech.com
Сделано по мотивам http://doc.trolltech.com/4.0/tutorial-t4.html
Код: Text
  1. #ifndef MyWidget_H
  2. #define MyWidget_H
  3.  
  4. #include <QPushButton>
  5. #include <QVBoxLayout>
  6. #include <QWidget>
  7. #include <QLabel>
  8.  
  9. class MyWidget : public QWidget
  10. {
  11.     Q_OBJECT
  12. public:
  13.     MyWidget(QWidget *parent = 0);
  14.    
  15. public slots:
  16.     void buttonClicked();
  17.    
  18. private:
  19.     QLabel *myLabel;
  20.     QVBoxLayout *layout;
  21.     QPushButton *myButton;
  22. };
  23.  
  24. #endif // MyWidget_H
  25.  
Код: Text
  1. #include "MyWidget.h"
  2.  
  3. MyWidget::MyWidget(QWidget *parent)
  4.     : QWidget(parent)
  5. {
  6.     myButton = new QPushButton(tr("Set text"));
  7.     myLabel = new QLabel(tr("Old Text"));
  8.  
  9.     connect(myButton, SIGNAL(clicked()), this, SLOT(buttonClicked()));
  10.  
  11.     layout = new QVBoxLayout;
  12.     layout->addWidget(myLabel);
  13.     layout->addWidget(myButton);
  14.     setLayout(layout);
  15. }
  16.  
  17. void MyWidget::buttonClicked()
  18. {
  19.     myLabel->setText(tr("New Text"));
  20. }
  21.  
Код: Text
  1. #include <QApplication>
  2. #include "MyWidget.h"
  3.  
  4. int main(int argc, char *argv[])
  5. {
  6.     QApplication app(argc, argv);
  7.     MyWidget widget;
  8.     widget.show();
  9.     return app.exec();
  10. }
  11.  

Оффлайн Fender Stratocaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: Qt 4...
« Ответ #2 : 24 Сентябрь 2008, 19:44:57 »
Классно! :)

а можно сделать так чтобы в лайн или текст едит вписываем значения а прога считает... складывает числа?
3 лайн едита
1,2 для ввода
3 для вывода
а еще можно сделать чтобы 3 текст нельзя было стирать?

Оффлайн shame

  • Активист
  • *
  • Сообщений: 798
  • Истинный баламут...
    • Просмотр профиля
Re: Qt 4...
« Ответ #3 : 24 Сентябрь 2008, 20:37:18 »
Все можно!! Читай книжки, еси по-англицки не понимаешь ;)
Не тисипи мое айпи...

burgua

  • Гость
Re: Qt 4...
« Ответ #4 : 24 Сентябрь 2008, 23:05:14 »
Если не хочешь заморачиваться с компилятором и т.д. - то поставь питон и поддежку qt4

Оффлайн AAXEE

  • Активист
  • *
  • Сообщений: 291
    • Просмотр профиля
Re: Qt 4...
« Ответ #5 : 25 Сентябрь 2008, 05:11:34 »
Если не хочешь заморачиваться с компилятором и т.д. - то поставь питон и поддежку qt4
Можно уточнить? Для чего это нужно?

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Qt 4...
« Ответ #6 : 25 Сентябрь 2008, 05:50:04 »
Классно! :)

а можно сделать так чтобы в лайн или текст едит вписываем значения а прога считает... складывает числа?
3 лайн едита
1,2 для ввода
3 для вывода
а еще можно сделать чтобы 3 текст нельзя было стирать?
Можно даже сделть так чтобы в первые два ничего кроме цыферок ввести нельзя было. Делай...
Лень мешает? Или завтра сдавать надо?

burgua

  • Гость
Re: Qt 4...
« Ответ #7 : 25 Сентябрь 2008, 07:46:34 »
Цитировать
Можно уточнить? Для чего это нужно?

Имхо - на питоне проще.

Вот пару туториалов
http://zetcode.com

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Qt 4...
« Ответ #8 : 25 Сентябрь 2008, 09:07:08 »
burgua, не надо сбивать удавами и питонами человека с пути истиного.
Имхо на С++ проще. и опять же на doc.trolltech.com туториалов много больше... а еще их можно удобно и быстро иметь под рукой если установить assistant + qt4-doc

Оффлайн nitx

  • Участник
  • *
  • Сообщений: 243
    • Просмотр профиля
Re: Qt 4...
« Ответ #9 : 25 Сентябрь 2008, 09:10:22 »
что на С что на питоне писать гуи - работает одинакого, но на питоне имхо легче писать:) И проги поменьше весом получаются ибо интерпретатор.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Qt 4...
« Ответ #10 : 25 Сентябрь 2008, 09:24:15 »
... И проги поменьше весом получаются ибо интерпретатор.
А то что за ней надо минимум тащить сам интерпретатор питона и биндинг для Qt это не в счет и мелочи жизни :) гы...
Смешные вы...

Оффлайн nitx

  • Участник
  • *
  • Сообщений: 243
    • Просмотр профиля
Re: Qt 4...
« Ответ #11 : 25 Сентябрь 2008, 10:21:42 »
Ну мне кажется это у большинства есть:) А у кого нет Qt - их проблемы.
Да, мы очень смешные... и все на питоне пишем

burgua

  • Гость
Re: Qt 4...
« Ответ #12 : 25 Сентябрь 2008, 12:30:10 »
Интерпретатор весит меньше, чем компилятор.

Против С ничего не имею против, но есть ли  смысл писать такую мелочь на С?
И плюс такой скрипт на питоне проще перенести на виндовую машину с сохранением функциональности.

Конечно нужно  qt4 - но это нужно в обоих случаях.

Да и вообще, не задача для языка - а язык для задачи.

А кричать что С лучший везде, всегда и во всем - варварство.

Оффлайн Fender Stratocaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: Qt 4...
« Ответ #13 : 26 Сентябрь 2008, 21:25:08 »
ну...
я сделал 3 окно(ответа) реад онли и теперь нельзя изменить
а с первыми двумя я не понял...
или acceptableInput : const bool или я не нашел(
помогите...

Оффлайн Fender Stratocaster

  • Автор темы
  • Новичок
  • *
  • Сообщений: 48
    • Просмотр профиля
Re: Qt 4...
« Ответ #14 : 01 Октябрь 2008, 22:22:56 »
ну хотя бы скажите что я делаю не так?
void MyWidget::buttonClicked()
{
   int a, b;
   label0 -> text() = a;
   label1 -> text() = b;
   label2 -> setText(QString::number(a)+QString::number(b));
}
выдает -> 00!!
а должно быть иначе...

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.