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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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
Код: ("MyWidget.h") [Выделить]
#ifndef MyWidget_H
#define MyWidget_H

#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>
#include <QLabel>

class MyWidget : public QWidget
{
    Q_OBJECT
public:
    MyWidget(QWidget *parent = 0);
   
public slots:
    void buttonClicked();
   
private:
    QLabel *myLabel;
    QVBoxLayout *layout;
    QPushButton *myButton;
};

#endif // MyWidget_H
Код: ("MyWidget.cpp") [Выделить]
#include "MyWidget.h"

MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    myButton = new QPushButton(tr("Set text"));
    myLabel = new QLabel(tr("Old Text"));

    connect(myButton, SIGNAL(clicked()), this, SLOT(buttonClicked()));

    layout = new QVBoxLayout;
    layout->addWidget(myLabel);
    layout->addWidget(myButton);
    setLayout(layout);
}

void MyWidget::buttonClicked()
{
    myLabel->setText(tr("New Text"));
}
Код: ("test.cc") [Выделить]
#include <QApplication>
#include "MyWidget.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    MyWidget widget;
    widget.show();
    return app.exec();
}

Оффлайн Fender Stratocaster

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

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

shame

  • Гость
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.031 секунд. Запросов: 25.