Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
1

Основные вопросы, вызывающие сложности у новичков (обсуждение)

07.02.2012, 10:06. Показов 14040. Ответов 83

Давайте насобираем пару десятков вопросов, которые будут полезны новичкам.

1. "Проблема" с кириллицей в приложениях на Qt.
2. Локализация приложения на др. языки
3. Как сделать CheckListBox в Qt - у меня очень часто спрашивают в icq...

Предлагайте еще, насобираем вопросы, я на них напишу ответы в отдельной теме (думаю ее модеры прикрепят), а тут будем все это обсуждать...

Не по теме:

Я в курсе про FAQ в этой теме, но это уже не столь важно куда поместить ответы, главное их насобирать и ответить...



https://www.cyberforum.ru/faq/thread450074.html
3
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.02.2012, 10:06
Ответы с готовыми решениями:

Обсуждение закреплённой темы для новичков
Здесь обсуждается тема: https://www.cyberforum.ru/python/thread938112.html Принимаются предложения...

Вопросы от новичков
Мне в личку постоянно задают вопросы как сделать то или это. Всем отвечать уже реально времени не...

вопросы от новичков
Здравствуйте Платон! У меня вопрос, объясните если не сложно. Я на joomla сделал что-то на подобии...

Вопросы для новичков
Я новичок. Ребята, помогите пожалуйста! Хочу заняться програмированием на C. С ЧЕГО МНЕ НАЧАТЬ????

83
136 / 140 / 7
Регистрация: 22.08.2011
Сообщений: 485
05.05.2012, 00:15 41
Здравствуйте.

Исходная задачка (создаю на QTCreatore):
Есть форма пректа, на ней нужно создать динамически
множество (массив одинаковых классов - количество известно)
однотипных графических объектов, каждый из которых состоит из
панели, на которой три лабели и кнопка, ну еще может едиты...

Вопрос 1: Что в Qt лучше выбрать вместо панели - основы -
(QFrame, QArea, Qwidget ... или еще что - может с Laiout как-то)?

Вопрос 2: Динамически создаются только головные виджеты на ui
Как правильно лабелям и кнопкам указать предка при создании?
(Про ->show(); знаю...)

Спасибо...
0
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
05.05.2012, 00:54 42
наткнулся на тему от автора QThread
http://labs.qt.nokia.com/2010/... -it-wrong/

оказывается, примеры из книг Шлее и Саммерфилда демонстрируют устаревший способ работы с ним. В действительности выполнение методов класса в потоке не требует наследования от QThread и переопределение метода run(). Автором подразумевалось, что достаточно просто "перенести" класс в поток через moveToThread() и запустить его.

имхо, довольно полезное замечание. можно добавить в faq
1
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
05.05.2012, 09:50  [ТС] 43
можно, но насколько мне известно не всегда это удобно и не всегда работает, сессия закончится обязательно опишу этот способ.
0
387 / 294 / 21
Регистрация: 07.08.2011
Сообщений: 790
Записей в блоге: 1
27.11.2012, 01:54 44
Цитата Сообщение от Чистый Посмотреть сообщение
Добавил не полное описание регулярных выражений просьба тех кто чуток в этом шарит почитать и указать на ошибки...
читать тут: https://www.cyberforum.ru/faq/... ost2800357
Сюда добавить хорошо бы было поиск по тегам. Типо такого:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
QString FindKeyboardLayoutClass::getStrObjectName(QString str){
 
    QString temp;
 
    QRegExp rxObjectName("<objectName>([^”]*)</objectName>");
 
    // Сюда добавил не встречающийся символ в коде: ”
    // проблема в том если теги заключены в другие теги их не найдет QRegExp
    // как то так :)
 
    rxObjectName.setMinimal(true);
 
    int pos = 0;
    while ((pos = rxObjectName.indexIn(str, pos)) != -1)
    {
        temp = rxObjectName.cap(1);
 
        pos += rxObjectName.matchedLength();
    }
 
    return temp;
}
0
160 / 101 / 14
Регистрация: 17.10.2012
Сообщений: 488
31.12.2012, 21:14 45
Приветствую! Есть система Linux Ubuntu 12.04, поставил на неё Qt SDK, qmake, g++. Открываю main.cpp, пишу:
C++ (Qt)
1
2
3
4
5
#include <QtGui>
 
int main(int argc, int ** argv) {
  //тут код обычного хелловорда
}
затем в консоли пишу qmake -project. Редактирую .pro:

C++ (Qt)
1
2
3
4
5
6
7
8
QT += gui
TEMPLATE = app
TARGET = QtProgram
DEPENDPATH += .
INCLUDEPATH += .
 
# Input
SOURCES += main.cpp
затем пишу
Bash
1
2
qmake
make
получаю:

Bash
1
2
3
4
5
root@LX-ST:/home/roman/Dist/QtProj/Test1# make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
main.cpp:1:17: фатальная ошибка: QtGui: Нет такого файла или каталога
компиляция прервана.
make: *** [main.o] Ошибка 1
Что я сделал не так? Спасибо!
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
31.12.2012, 23:10  [ТС] 46
тему создайте со своим вопросом, так же опишите, куда ставили QtSDK, почему не используете QtCreator, при компиляции библиотеки подключили? Библиотеки лежат в каталоге который прописан в окружении пользователя? Вообщем вопросов вагон и маленькая тележка
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 16:37 47
Насчет сборки драйвера https://www.cyberforum.ru/post3643793.html - недавно собирал в Qt5, если в путях к MySQL есть пробелы, то не соберется - обрежет пути, к примеру C:\\Program Files\\xxx обрежет до C:\\Program.

Вышел из положения- копированием папок include и lib в отдельную папку на диске C не содержащую в пути пробелов.
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 16:40  [ТС] 48
можно экранировать их или взять в скобки
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 16:50 49
Цитата Сообщение от Чистый Посмотреть сообщение
можно экранировать их или взять в скобки
Пример можно ?
Пробовал кавычки - не помогло.

Добавлено через 2 минуты
Т.е так точно не сработает
INCLUDEPATH +="c:/Program Files/MySQL/MySQL Server 5.5/include"
LIBS+=-L"c:/Program Files/MySQL/MySQL Server 5.5/lib"
Добавлено через 5 минут
Тут https://www.cyberforum.ru/post4251032.html кстати уже было обсуждение там видео есть.
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 17:56  [ТС] 50
экранировать:
С:/Pogram\ Files/...
не уверен что в винде это сработает, я давно ей не пользовался тем более с Qt
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 17:58 51
Цитата Сообщение от Чистый Посмотреть сообщение
не уверен что в винде это сработает, я давно ей не пользовался тем более с Qt
Ну в Винде кавычки обычно помогали, так что думаю это грехи Qt...

Мне абсолютно не понятно почему в обычном проекте это работает нормально, а в данном случае нет...
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 18:17  [ТС] 52
ну Qt вообще не любит пробелы
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 18:19 53
Цитата Сообщение от Чистый Посмотреть сообщение
ну Qt вообще не любит пробелы
Ну печально как для кроссплатформенной среды ...
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 20:06  [ТС] 54
а чего печального? в лине у меня все нормально, и в коде тоже так что меня устраивает
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 20:07 55
А как же ...
Цитата Сообщение от Avazart Посмотреть сообщение
кроссплатформенной среды
0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 21:04  [ТС] 56
он и есть кросплатформенный, мои приложения работают корректно на винде
0
Диссидент
Эксперт C
26841 / 16747 / 3671
Регистрация: 24.12.2010
Сообщений: 37,493
09.04.2013, 21:25 57
А если какой-нибудь платформе придет в голову узаконить в именах файлов звездочки или вопросики?
Виндовская файловая система вообще чудовищна! Чего стоит только неразличение больших и маленьких букв! Это идет по болезненной цепочке CPM - DOS - Windows. К DOS следует сверху присобачить входящую стрелочку UNIX. Эти мелкомягкие сделали "замечательный" гибрид, испохабили идеи Unix-а и зачем-то сделали совместимость с дохлой CPM. Какое-то время это проходило, но когда стал вопрос о кроссе, тут то и стало понятно, какие это добрые дядьки. А ихний перевод строки! (0D0A). Думаю, это отнюдь не исчерпывающее перечисление идиотизмов, которые были изначально вложены в ставшую потом самой популярной ОС.

Avazart, конечно, вы правы в своей печали. Можно было бы хоть обратным слешем экранировать. Но
1. На всякий чих не наздравствуешься.
2. Один дурак может задать столько вопросов, что 100 мудрецов не ответят
0
Эксперт С++
8381 / 6142 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2013, 21:49 58
ДыK а при чем тут винда к недоработкам разработчиков Qt?
0
Байт
09.04.2013, 22:06
  #59

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
а при чем тут винда
Простите, просто наболело. А тут как бы случай...

0
Автор FAQ
2731 / 1427 / 89
Регистрация: 08.09.2011
Сообщений: 3,746
Записей в блоге: 1
09.04.2013, 22:17  [ТС] 60
Цитата Сообщение от Avazart Посмотреть сообщение
ДыK а при чем тут винда к недоработкам разработчиков Qt?
к тому что у них даже слеши в другую сторону ладно прекращаем флуд...
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2013, 22:17
Помогаю со студенческими работами здесь

Вопросы новичков: измерения
Доброго времени суток! Предлагаю здесь новичкам задавать вопросы по измерительному инструменту. А...

вопросы новичков по Borland C++ Builder 6
if (Edit1-&gt;Text == 0); if ((Edit1-&gt;Text).Length() == 0); Люди скажите какая разница между...

Как обработать ошибки не вызывающие ErrorDocument
При обращении к несуществующему файлу, появляется страница ошибки. Но, если несуществующий файл,...

Два класса, вызывающие друг друга
У меня есть файл class1.h и файл class2.h внутри класса 1 вызывается класс 2 и наоборот. Но,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru