Russian Qt Forum
Ноябрь 23, 2024, 07:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 2 [3] 4 5 ... 10   Вниз
  Печать  
Автор Тема: Моё первое приложение  (Прочитано 65515 раз)
Bepec
Гость
« Ответ #30 : Март 24, 2012, 16:11 »

Чёрный странник - не плодите ложные данные.

В слоте можно определить, от кого пришел сигнал и получить доступ ко всем полям посылающего.

Проще говоря аля "сигнал пришёл от кнопки "ляля". Вставить "ляля" в текстовое поле" - это реально и просто.
Записан
Blackwanderer
Гость
« Ответ #31 : Март 24, 2012, 16:31 »

В слоте можно определить, от кого пришел сигнал и получить доступ ко всем полям посылающего.
Проще говоря аля "сигнал пришёл от кнопки "ляля". Вставить "ляля" в текстовое поле" - это реально и просто.
Каюсь, не знал.

Вот только про Object::sender сами тролли пишут
Код:
Warning: This function violates the object-oriented principle of modularity. However, getting access to the sender might be useful when many signals are connected to a single slot.
Warning: As mentioned above, the return value of this function is not valid when the slot is called via a Qt::DirectConnection from a thread different from this object's thread. Do not use this function in this type of scenario.
То бишь использовать-то вы конечно можете, только получится у вас Франкенштейн.

А вот QSignalMapper вроде идеально подходит, но отнюдь не в ключе той идеологии, которую высказал топикстартер.

Вообще, считаю, что узнавать кто послал сигнал - это признак дурного тона, т.к. нарушается принцип абстракции.
Записан
PinkPink
Гость
« Ответ #32 : Март 24, 2012, 17:04 »

если я создам свой класс-наследник кнопки с дополнительным полем, это уже новый объект получится??? и как его использовать и вообще на окно ставить?? это уже будет что-то вроде mybutton, а не стандартная, значит её как-то добавить нужно будет?
Записан
PinkPink
Гость
« Ответ #33 : Март 24, 2012, 17:17 »

возникла новая идея!
Добавить всего одну кнопку. После нажатия на неё возникнет диалоговое окно со списком(варианты кнопок, которые планировалось поставить изначально, но в виде строчек). Посоветуйте какой-такой объект будет содержать список названий, чтобы можно было тыкнуть на название в списке таким образом выбрать его?
Записан
Blackwanderer
Гость
« Ответ #34 : Март 24, 2012, 17:31 »

если я создам свой класс-наследник кнопки с дополнительным полем, это уже новый объект получитсяНепонимающий и как его использовать и вообще на окно ставить?? это уже будет что-то вроде mybutton, а не стандартная, значит её как-то добавить нужно будет?
А это уже, как вы выразились, "через main".
Записан
Blackwanderer
Гость
« Ответ #35 : Март 24, 2012, 17:32 »

возникла новая идея!
Добавить всего одну кнопку. После нажатия на неё возникнет диалоговое окно со списком(варианты кнопок, которые планировалось поставить изначально, но в виде строчек). Посоветуйте какой-такой объект будет содержать список названий, чтобы можно было тыкнуть на название в списке таким образом выбрать его?
QComboBox
Записан
V1KT0P
Гость
« Ответ #36 : Март 24, 2012, 18:11 »

написать полноценную программу нужно в течении месяца, я уж умалчиваю о том, что у меня помимо этого ещё море предметов. Поэтому я ищу способы, для более быстрого усвоения материала и разбора конкретной задачи, а не всего Qt.
Qt - это не отдельный язык, это набор библиотек для создания графического интерфейса.

Текст многострочный, проблема не в том, что я не знаю функций) проблема в том, что я даже не знаю куда писать и как всё это связывать. Извините, но я думаю вы тоже когда смотрели на новый язык как Я (как баран на новые ворота).
Да нет, когда я писал скрипт для GIMP на языке Scheme, который первый раз в жизни видел я просто начал читать документацию и туториалы по нему и за день разобрался как написать приличный скрипт.

Знаете ли синтаксис везде разный. Ну взять к примеру вот эту запись
QTextCursor QTextEdit::textCursor () const
вам возможно она говорит многое, мне она говорит - это что то про функцию не возвращающую значению, чтото про курсор, правку текста и параметры в виде строки и текста вроде. Но не куда это пишется ни как привязывается к чему либо, зачем тут :: и прочее
Не сочтите за тупость, а просто за незнание языка.
Ну так перечитайте начало книги для С++ для начинающих. Тут с синтаксисом как раз все ясно, значение как-раз таки она и возвращает. В данном случае это экземпляр класса QTextCursor. Симполы "::" означают что то что справа принадлежит тому что слева. В данном случае это говорит что функция textCursor() принадлежит классу QTextEdit. Это все банальные вещи без знания которых нельзя программировать.
Записан
PinkPink
Гость
« Ответ #37 : Март 24, 2012, 18:36 »


Да нет, когда я писал скрипт для GIMP на языке Scheme, который первый раз в жизни видел я просто начал читать документацию и туториалы по нему и за день разобрался как написать приличный скрипт.

----Вы конечно молодец, но неужели вы в то время были новичком, который в принципе и о других языках мало что вообще знает??

Ну так перечитайте начало книги для С++ для начинающих. Тут с синтаксисом как раз все ясно, значение как-раз таки она и возвращает. В данном случае это экземпляр класса QTextCursor. Симполы "::" означают что то что справа принадлежит тому что слева. В данном случае это говорит что функция textCursor() принадлежит классу QTextEdit. Это все банальные вещи без знания которых нельзя программировать.
Вы пожалуйста не издевайтесь надо мной! у меня месяц срока, мне надо писать на Qt, а вы мне предлагаете перечитать все книги по C++ для начинающих! Я не могу понять, вас многих так раздражают что-ли студенты? Или знания негде больше применить, как лишний раз ткнуть носом, что мы не шарим в своём деле? Вы думаете я ленивая и тупая, которая нифига не делает и тока ноет чтобы всё разжевали? Не дождётесь -_-
Я знаю, что такое ::  но суть в том, что в данном контексте мне это ничего не говорит. И если функция void как она может чтото возвращать??
Я сейчас пытаюсь понять и многое не знаю, но я пытаюсь ПОНЯТЬ! а не припахать кого-то.
Если вы размуный человек, вы должны понять что за месяц невозможно перечитать все книги по C++ Qt, написать курсовую работу на Qt и одновременно заниматься ещё 10ю предметами, а именно заниматься! а не спать на парах и молиться, чтобы не отчислили.
Записан
V1KT0P
Гость
« Ответ #38 : Март 24, 2012, 18:45 »


Да нет, когда я писал скрипт для GIMP на языке Scheme, который первый раз в жизни видел я просто начал читать документацию и туториалы по нему и за день разобрался как написать приличный скрипт.

----Вы конечно молодец, но неужели вы в то время были новичком, который в принципе и о других языках мало что вообще знает??

Ну так перечитайте начало книги для С++ для начинающих. Тут с синтаксисом как раз все ясно, значение как-раз таки она и возвращает. В данном случае это экземпляр класса QTextCursor. Симполы "::" означают что то что справа принадлежит тому что слева. В данном случае это говорит что функция textCursor() принадлежит классу QTextEdit. Это все банальные вещи без знания которых нельзя программировать.
Вы пожалуйста не издевайтесь надо мной! у меня месяц срока, мне надо писать на Qt, а вы мне предлагаете перечитать все книги по C++ для начинающих! Я не могу понять, вас многих так раздражают что-ли студенты? Или знания негде больше применить, как лишний раз ткнуть носом, что мы не шарим в своём деле? Вы думаете я ленивая и тупая, которая нифига не делает и тока ноет чтобы всё разжевали? Не дождётесь -_-
Я знаю, что такое ::  но суть в том, что в данном контексте мне это ничего не говорит. И если функция void как она может чтото возвращать??
Я сейчас пытаюсь понять и многое не знаю, но я пытаюсь ПОНЯТЬ! а не припахать кого-то.
Если вы размуный человек, вы должны понять что за месяц невозможно перечитать все книги по C++ Qt, написать курсовую работу на Qt и одновременно заниматься ещё 10ю предметами, а именно заниматься! а не спать на парах и молиться, чтобы не отчислили.
Я предлагаю не все книги прочитать, а перечитать только начало одной из книг для начинающих. Когда мне надо было быстро въехать в Java я взял книгу и за три дня прочитал 500 страниц, что хватило для того чтоб я начал на нем программировать без посторонней помощи. У вас большие проблемы в базовом понимании, вы говорите что эта функция ничего не возвращает:
Код
C++ (Qt)
QTextCursor QTextEdit::textCursor () const
Но она возвращает QTextCursor. Вот так выглядит функция которая ничего не возвращает:
Код
C++ (Qt)
void QTextEdit::textCursor () const
Видите разницу? Чем быстрее вы поймете принцип и получите базовые знания, тем быстрее начнете понимать все остальное. И тогда вам в 95% не понадобится помощь, зная принципы вам хватит документации чтоб моментально найти то что нужно.
Записан
m_ax
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2095



Просмотр профиля
« Ответ #39 : Март 24, 2012, 18:46 »


Да нет, когда я писал скрипт для GIMP на языке Scheme, который первый раз в жизни видел я просто начал читать документацию и туториалы по нему и за день разобрался как написать приличный скрипт.

----Вы конечно молодец, но неужели вы в то время были новичком, который в принципе и о других языках мало что вообще знает??

Ну так перечитайте начало книги для С++ для начинающих. Тут с синтаксисом как раз все ясно, значение как-раз таки она и возвращает. В данном случае это экземпляр класса QTextCursor. Симполы "::" означают что то что справа принадлежит тому что слева. В данном случае это говорит что функция textCursor() принадлежит классу QTextEdit. Это все банальные вещи без знания которых нельзя программировать.
Вы пожалуйста не издевайтесь надо мной! у меня месяц срока, мне надо писать на Qt, а вы мне предлагаете перечитать все книги по C++ для начинающих! Я не могу понять, вас многих так раздражают что-ли студенты? Или знания негде больше применить, как лишний раз ткнуть носом, что мы не шарим в своём деле? Вы думаете я ленивая и тупая, которая нифига не делает и тока ноет чтобы всё разжевали? Не дождётесь -_-
Я знаю, что такое ::  но суть в том, что в данном контексте мне это ничего не говорит. И если функция void как она может чтото возвращать??
Я сейчас пытаюсь понять и многое не знаю, но я пытаюсь ПОНЯТЬ! а не припахать кого-то.
Если вы размуный человек, вы должны понять что за месяц невозможно перечитать все книги по C++ Qt, написать курсовую работу на Qt и одновременно заниматься ещё 10ю предметами, а именно заниматься! а не спать на парах и молиться, чтобы не отчислили.
Как я вас понимаю))
Записан

Над водой луна двурога. Сяду выпью за Ван Гога. Хорошо, что кот не пьет, Он и так меня поймет..

Arch Linux Plasma 5
PinkPink
Гость
« Ответ #40 : Март 24, 2012, 18:54 »

Видите разницу? Чем быстрее вы поймете принцип и получите базовые знания, тем быстрее начнете понимать все остальное. И тогда вам в 95% не понадобится помощь, зная принципы вам хватит документации чтоб моментально найти то что нужно.
я не эту функцию имела ввиду Т_Т
мне написали две строчки:
QTextCursor QTextEdit::textCursor () const
void QTextCursor::insertText( const QString & text )
я говорила про эту
void QTextCursor::insertText( const QString & text )
если вы внимательнее прочтёте мой пост выше, вы заметите фразу "как void может что-то возвращать?" и поймёте, что я говорила именно про функцию void.
С этим у меня проблем нет и я это прекрасно понимаю.
Записан
V1KT0P
Гость
« Ответ #41 : Март 24, 2012, 18:57 »

я не эту функцию имела ввиду Т_Т
Надо внимательней быть, ибо читая это я именно так и подумал:
Ну взять к примеру вот эту запись
QTextCursor QTextEdit::textCursor () const
вам возможно она говорит многое, мне она говорит - это что то про функцию не возвращающую значению
Записан
PinkPink
Гость
« Ответ #42 : Март 24, 2012, 18:59 »

как сделать начальное заполнение ComboBox? пробовала код из книги Шлее и ещё пару способов, почему-то не работает. его вообще в обработчике надо заполнить или где-то в другом месте? Пролистала 3 книжки, но так и не нашла то, что нужно. Может где-то в Property можно записать первоначальные значения?
Записан
PinkPink
Гость
« Ответ #43 : Март 24, 2012, 19:00 »

опечатка, извините, но вроде я объяснила так, что мне можно поверить) судя по тому, что в споре я говорила именно о void функции
Записан
Blackwanderer
Гость
« Ответ #44 : Март 24, 2012, 19:01 »

Я предлагаю не все книги прочитать, а перечитать только начало одной из книг для начинающих. Когда мне надо было быстро въехать в Java я взял книгу и за три дня прочитал 500 страниц, что хватило для того чтоб я начал на нем программировать без посторонней помощи.
+1. Если вы знаете один язык программирования - вы знаете все языки программирования придерживающиеся той же парадигмы. Понятно, что тонкостям языка можно и нужно учиться годами, но для того, чтобы начать писать с книжкой что-то шаблонное достаточно нескольких дней. Поттверждено личным примером. Писал таким образом на Pascal, Python, Fortran, C#, Java, Visual Basic, MatLab. Основной язык C++.
Если же это не так - то это серьёзный повод задуматься.
Записан
Страниц: 1 2 [3] 4 5 ... 10   Вверх
  Печать  
 
Перейти в:  


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