qt вопросы

Модератор: Fastman

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-02 17:53:11

почему вываливается ошибка

Код: Выделить всё

cd: can't cd to /src/moc
если я в проект добавляю какой-нить заголовочный файл?
например, так компилится

Код: Выделить всё

#include <qapplication.h>

int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QWidget qw;
app.setMainWidget(&qw);
qw.show();
app.exec();
}

а так нет

Код: Выделить всё

#include <qapplication.h>
#include "myfile.h"
int main(int argc, char * argv[])
{
QApplication app(argc, argv);
QWidget qw;
app.setMainWidget(&qw);
qw.show();
app.exec();
}
и еще: например, пример с ютубом собирается нормально, а любой пример из учебника (многофайловый) - хрен

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-02 19:05:51

Makefile в студию.
делай:
qmake -project && qmake
и получившийся Makefile сюда забрасывай.
Подозрение на неправильно прописанные пути.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-02 19:19:36

вот, например, взял пример из книги, сделал qmake -project
qmake
make

Код: Выделить всё

#############################################################################
# Makefile for building: Counter
# Generated by qmake (1.07a) (Qt 3.3.8) on: Sat Feb  2 19:16:39 2008
# Project:  Counter.pro
# Template: app
# Command: $(QMAKE) -o Makefile Counter.pro
#############################################################################

####### Compiler, tools and options

CC       = cc
CXX      = c++
LEX      = flex
YACC     = yacc
CFLAGS   = -pipe -Wall -W -O2 -fno-strict-aliasing -pipe  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT
CXXFLAGS = -pipe -Wall -W -O2 -fno-strict-aliasing -pipe  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT
LEXFLAGS = 
YACCFLAGS= -d
INCPATH  = -I/usr/local/share/qt/mkspecs/freebsd-g++ -I. -I. -I../../../local/include -I$(QTDIR)/include
LINK     = c++
LFLAGS   =  -Wl,-rpath,/usr/local/lib  -Wl,-rpath,$(QTDIR)/lib -pthread
LIBS     = $(SUBLIBS) -L/usr/local/lib -L$(QTDIR)/lib -L/usr/local/lib -lqt-mt -lXext -lX11 -lm
AR       = ar cqs
RANLIB   = 
MOC      = $(QTDIR)/bin/moc
UIC      = $(QTDIR)/bin/uic
QMAKE    = qmake
TAR      = tar -cf
GZIP     = gzip -9f
COPY     = cp -f
COPY_FILE= $(COPY)
COPY_DIR = $(COPY) -R
INSTALL_FILE= $(COPY_FILE)
INSTALL_DIR = $(COPY_DIR)
DEL_FILE = rm -f
SYMLINK  = ln -sf
DEL_DIR  = rmdir
MOVE     = mv -f
CHK_DIR_EXISTS= test -d
MKDIR    = mkdir -p

####### Output directory

OBJECTS_DIR = ./

####### Files

HEADERS = Counter.h
SOURCES = Counter.cpp \
		main.cpp
OBJECTS = Counter.o \
		main.o
FORMS = 
UICDECLS = 
UICIMPLS = 
SRCMOC   = moc_Counter.cpp
OBJMOC = moc_Counter.o
DIST	   = Counter.pro
QMAKE_TARGET = Counter
DESTDIR  = 
TARGET   = Counter

first: all
####### Implicit rules

.SUFFIXES: .c .o .cpp .cc .cxx .C

.cpp.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cc.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.cxx.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.C.o:
	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<

.c.o:
	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<

####### Build rules

all: Makefile $(TARGET)

$(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC)  
	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)

mocables: $(SRCMOC)
uicables: $(UICDECLS) $(UICIMPLS)

$(MOC): 
	( cd $(QTDIR)/src/moc && $(MAKE) )

Makefile: Counter.pro  /usr/local/share/qt/mkspecs/freebsd-g++/qmake.conf ../../../local/lib/libqt-mt.prl
	$(QMAKE) -o Makefile Counter.pro
qmake: 
	@$(QMAKE) -o Makefile Counter.pro

dist: 
	@mkdir -p .tmp/Counter && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) $(FORMS) $(DIST) .tmp/Counter/ && ( cd `dirname .tmp/Counter` && $(TAR) Counter.tar Counter && $(GZIP) Counter.tar ) && $(MOVE) `dirname .tmp/Counter`/Counter.tar.gz . && $(DEL_FILE) -r .tmp/Counter

mocclean:
	-$(DEL_FILE) $(OBJMOC)
	-$(DEL_FILE) $(SRCMOC)

uiclean:

yaccclean:
lexclean:
clean: mocclean
	-$(DEL_FILE) $(OBJECTS)
	-$(DEL_FILE) *~ core *.core


####### Sub-libraries

distclean: clean
	-$(DEL_FILE) $(TARGET) $(TARGET)


FORCE:

####### Compile

Counter.o: Counter.cpp Counter.h

main.o: main.cpp Counter.h

moc_Counter.o: moc_Counter.cpp  Counter.h 

moc_Counter.cpp: $(MOC) Counter.h
	$(MOC) Counter.h -o moc_Counter.cpp

####### Install

install:  

uninstall:  

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-02 19:39:40

Ага..ну се ясно в принципе:

Код: Выделить всё

$(MOC):
   ( cd $(QTDIR)/src/moc && $(MAKE) )
переманная которая содержит путь к qt-ым директориям не прописана.
она пустая поэтому путь к moc неправильный.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-02 20:15:30

решение мне самому додумывать? : )
почему тогда первый указанный мною файл компилится, хотя там в мэйкфале так же написано?

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-02 20:26:43

catdog_ писал(а):решение мне самому додумывать? : )
почему тогда первый указанный мною файл компилится, хотя там в мэйкфале так же написано?
Тоесть ты хочешь чтобы я за тебя думал ???? :)
Во первых сорри не заметил... если ты хочешь юзать QT именно 4.x версии то следует обратить внимение на :

Код: Выделить всё

############################################################################
# Makefile for building: Counter
# Generated by qmake (1.07a) (Qt 3.3.8) on: Sat Feb  2 19:16:39 2008 // <- Версию видишь !!!!!! это QT3 который у тя по умолчанию стоит
# Project:  Counter.pro
# Template: app
# Command: $(QMAKE) -o Makefile Counter.pro
#############################################################################
У меня просто в рабочем юзере стоит алиас в .cshrc -> alias qmake qmake-qt4
Поэтому тебе нужно делать qmake-qt4 -project && qmake-qt4 это во первых.
во вторых будем разбираться дальше когда сгенериш мэйкфайл именно для 4-ой версии QT
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-02 20:33:36

блин гениальна : ) работает, СПАСИБО! но вопросы еще будут, так чта заглядывай сюды
книжка, кстати, про которую ты говорил как называется?

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-02 20:39:58

catdog_ писал(а):блин гениальна : ) работает, СПАСИБО! но вопросы еще будут, так чта заглядывай сюды
книжка, кстати, про которую ты говорил как называется?
У меня файл под таким названием:
Prentice.Hall.PTR.C.plus.plus.GUI.Programming.with.Qt.4.Jun.2006.chm - Eng язык ессно.
Однако купил ее и в бумажном виде переведенную на русский язык.
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-03 0:39:02

следующий
берем простую прогу

Код: Выделить всё

#include <qapplication.h>
#include <qwidget.h>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QWidget qw;
app.setMainWidget(&qw);
qw.show();
return app.exec();
}
qmake-qt4 -project qmake make ее нормально компилирует
а qmake-qt4 -project qmake-qt4 make выдает это

Код: Выделить всё

test.cpp: In function 'int main(int, char**)':
test.cpp:10: error: 'class QApplication' has no member named 'setMainWidget'
*** Error code 1
почему?

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-03 0:54:36

catdog_ писал(а):следующий
берем простую прогу

Код: Выделить всё

#include <qapplication.h>
#include <qwidget.h>
int main(int argc, char** argv)
{
QApplication app(argc, argv);
QWidget qw;
app.setMainWidget(&qw);
qw.show();
return app.exec();
}
qmake-qt4 -project qmake make ее нормально компилирует
а qmake-qt4 -project qmake-qt4 make выдает это

Код: Выделить всё

test.cpp: In function 'int main(int, char**)':
test.cpp:10: error: 'class QApplication' has no member named 'setMainWidget'
*** Error code 1
почему?
Думать опять я один буду и читать документацию ? :)
Читаем раздел в Assistant - Porting to Qt 4
и видим:

Код: Выделить всё

QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally. 
Еще раз говорю... с QT идет просто ахренительная документация :) Нужно уметь ее читать только :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-03 1:04:12

ну все понятно :) я оказывается по 3 доку читал (пока что лит-ру выбрал русскую, а не официальную)

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: qt вопросы

Непрочитанное сообщение 100kg » 2008-02-03 20:30:16

у меня есть книга по qt4 в электронном виде, можно сделать эксченджь по книгам, только вот я еше не добил дэитела :( много букфф

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-04 1:05:01

100kg писал(а):у меня есть книга по qt4 в электронном виде, можно сделать эксченджь по книгам, только вот я еше не добил дэитела :( много букфф
как только у Лиса заработает FTP - я все что у меня есть интересного - выложу :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-04 1:46:20

2Fastman
вот ты не про эту книгу говорил?
Изображение

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: qt вопросы

Непрочитанное сообщение 100kg » 2008-02-04 1:50:49

вово у меня такая есть

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-04 11:13:41

catdog_ писал(а):2Fastman
вот ты не про эту книгу говорил?
Изображение
Ага. она самая :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-04 21:05:07

вопрос ламерский но все же
какая функция переводит число в строку и обратно?

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-04 21:21:28

catdog_ писал(а):вопрос ламерский но все же
какая функция переводит число в строку и обратно?
ваапще читать не умеешь :)
Число в строку:

Код: Выделить всё

QString QString::number ( long n, int base = 10 )   [static] 
Returns a string equivalent of the number n according to the specified base. 
The base is 10 by default and must be between 2 and 36. For bases other than 10, n is treated as an unsigned integer. 
     long a = 63;
     QString s = QString::number(a, 16);             // s == "3f"
     QString t = QString::number(a, 16).toUpper();     // t == "3F" 
Строку в число:

Код: Выделить всё

int QString::toInt ( bool * ok = 0, int base = 10 ) const 
Returns the string converted to an int using base base, which is 10 by default and must be between 2 and 36, or 0. Returns 0 if the conversion fails. 
If a conversion error occurs, *ok is set to false; otherwise *ok is set to true. 
If base is 0, the C language convention is used: If the string begins with "0x", base 16 is used; if the string begins with "0", base 8 is used; otherwise, base 10 is used. 
Example: 
     QString str = "FF";
     bool ok;
     int hex = str.toInt(&ok, 16);       // hex == 255, ok == true
     int dec = str.toInt(&ok, 10);       // dec == 0, ok == false 
плюс читать про:

Код: Выделить всё

 toUInt(), and toDouble(). 
Я понимаю что все непривычно и незнакомо. Но доки читать всетаки надо :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
catdog_
сержант
Сообщения: 173
Зарегистрирован: 2007-10-10 1:23:21
Откуда: петрозаводск
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение catdog_ » 2008-02-04 21:58:10

я думал toString в стоку по логике должна переводить, toInt не смотрел, посмотрел бы - увидел бы number

Аватара пользователя
toughcat
мл. сержант
Сообщения: 97
Зарегистрирован: 2007-06-28 2:23:48
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение toughcat » 2008-02-05 11:02:19

Qdevelop из портов:

Код: Выделить всё

** Port marked as IGNORE: devel/qdevelop:
        is marked as broken: checksum fails
а при "ручной" установке:

Код: Выделить всё

Ctags найден в "/usr/bin/ctags", но эта версия слишком старая.

Код: Выделить всё

Не могу запустить /usr/bin/ctags -L /tmp//qdevelopfilenames -f "/tmp//qttags" --language-force=c++ --fields=afiKmsSzn --c++-kinds=cdefgmnpstuvx "/usr/local/include"

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-05 11:08:59

toughcat писал(а):Qdevelop из портов:

Код: Выделить всё

** Port marked as IGNORE: devel/qdevelop:
        is marked as broken: checksum fails
а при "ручной" установке:

Код: Выделить всё

Ctags найден в "/usr/bin/ctags", но эта версия слишком старая.

Код: Выделить всё

Не могу запустить /usr/bin/ctags -L /tmp//qdevelopfilenames -f "/tmp//qttags" --language-force=c++ --fields=afiKmsSzn --c++-kinds=cdefgmnpstuvx "/usr/local/include"
Да с некоторого времени в портах QDevelop помечен как сломанный. Ну.. в принципе этож не панацея. А если хочется - собирать самому.
ctags - это тулузина для включения авто дополнения. Можно тоже при особом желании собрать самому, потому что та которая есть изначально в BSD не нравиться почему то QDevel-пу :)
Главное в жизни здоровье и любовь, остальное я все куплю.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение Alex Keda » 2008-02-05 11:22:11

Fastman писал(а):
toughcat писал(а):Qdevelop из портов:

Код: Выделить всё

** Port marked as IGNORE: devel/qdevelop:
        is marked as broken: checksum fails
а при "ручной" установке:

Код: Выделить всё

Ctags найден в "/usr/bin/ctags", но эта версия слишком старая.

Код: Выделить всё

Не могу запустить /usr/bin/ctags -L /tmp//qdevelopfilenames -f "/tmp//qttags" --language-force=c++ --fields=afiKmsSzn --c++-kinds=cdefgmnpstuvx "/usr/local/include"
Да с некоторого времени в портах QDevelop помечен как сломанный. Ну.. в принципе этож не панацея. А если хочется - собирать самому.
ctags - это тулузина для включения авто дополнения. Можно тоже при особом желании собрать самому, потому что та которая есть изначально в BSD не нравиться почему то QDevel-пу :)
строчку закомментить в макефиле, и

Код: Выделить всё

make makesum
в порте.
===
бывает, если на сайте меняют файл не меняя его названия...
сам с xneur раза два напарывался - пока разработчиков в рассылке не попинал - чтоб цифирки добавляли - так и маялись ерундой
Убей их всех! Бог потом рассортирует...

Аватара пользователя
toughcat
мл. сержант
Сообщения: 97
Зарегистрирован: 2007-06-28 2:23:48
Контактная информация:

Re: qt вопросы

Непрочитанное сообщение toughcat » 2008-02-20 13:30:30

lissyara писал(а): строчку закомментить в макефиле, и

Код: Выделить всё

make makesum
в порте.
похоже что файла на который ссылается Makefile вообще нет - помогло переписывание Makefile и distinfo методом "научного втыка" :) - вроде собралось


PS: книжку Изображение положил на ftp://lissyara.su/Upload/C++_GUI_Progra ... h_Qt4.djvu
ЗЗЫ: и в "английском переводе" тоже

upd: с ctags вопрос всетаки решился: /usr/local/bin/exctags
Последний раз редактировалось toughcat 2008-02-20 22:56:09, всего редактировалось 2 раза.

Аватара пользователя
Fastman
ст. лейтенант
Сообщения: 1236
Зарегистрирован: 2006-07-07 10:20:38
Откуда: Минск. РБ

Re: qt вопросы

Непрочитанное сообщение Fastman » 2008-02-20 13:49:50

Отлично. Я сейчас в отпуске - на отдыхе. Приеду - к этой книге выложу примеры из нее.
Главное в жизни здоровье и любовь, остальное я все куплю.

100kg
ст. сержант
Сообщения: 393
Зарегистрирован: 2006-05-18 14:01:32

Re: qt вопросы

Непрочитанное сообщение 100kg » 2008-04-16 20:01:55

обновил порты, и после make install clean говорит

Код: Выделить всё

 qdevelop-0.23.1_1 is marked as broken: checksum fail
хотя самих исходников в distfiles нет, погуглил деиствительно marked as broken думаю что завтра будет исправлено