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

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Вопросы новичков / Re: Как создать собственный класс? : Ноябрь 17, 2020, 15:09
Виноват. Это ошибка из-за моей собственной невнимательности. Заработало. Вопрос снят.
2  Qt / Вопросы новичков / Как создать собственный класс? : Ноябрь 17, 2020, 14:50
Помогите, пожалуйста, разобраться. Опять столкнулся с темной стороной Qt.

В файле widget.cpp создаю класс классическим С++ способом.

Код
C++ (Qt)
class MyClass {
public:
   void Connect() {
       ...
   }
 
private:
   ...
};

Хочу обратиться к методу Connect() вне main() . Однако получаю ошибку "cannot use dot operator". Тут что все классы должны быть наследниками QObject?
3  Qt / Вопросы новичков / Re: Как привязать виджеты к границе главного окна? : Ноябрь 17, 2020, 13:45
Так и знал, что придется шаманить с этими формами. Думал, там все проще. Спасибо!
4  Qt / Вопросы новичков / Re: Как привязать виджеты к границе главного : Ноябрь 16, 2020, 20:22
Не понимаю. У меня уже на форме существует более десятка разных виджетов. Как к ним всем одновременно применить какой-нибудь Layout? Нужно их всех выделить? Если я их все выделяю и применяю, то размеры виджетов съезжают. Или мне нужно заново перекомпоновывать элементы на форме, вставляя каждый виджет в Layot?
5  Qt / Вопросы новичков / Как привязать виджеты к границе главного окна? : Ноябрь 16, 2020, 19:56
Подскажите, пожалуйста, как привязать встроенные в форму виджеты к границе главного окна приложения? Нужно, чтобы виджеты пропорционально изменяли размеры при изменении размеров главного окна, когда границу тяну/сжимаю мышью.
6  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фор : Ноябрь 15, 2020, 14:32
значит, открывай дизайнер (свой файл ui), выделяй текстовое поле на своей форме и смотри какой у него идентификатор
Идентификатор так и называется textEdit. Появился после запуска Ctrl+R. Спасибо.
7  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фо&# : Ноябрь 15, 2020, 14:16
Странно. Вот пытаюсь написать , что предложили, но textEdit не видно.



8  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фор : Ноябрь 15, 2020, 13:49
а что мешает сделать все то же самое в конструкторе Widget? будет меньше возни.
Плохо понимаю, о чем речь. Имеется ввиду что-то вроде этого?

Код
C++ (Qt)
#include <QWidget>
 
class MyWidget : public QWidget
{
public:
    MyWidget(QWidget *parent = 0);
};
9  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фор : Ноябрь 15, 2020, 13:30
Спасибо! Туман понемногу рассеивается Улыбающийся
10  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фо&# : Ноябрь 15, 2020, 13:07
А вы откуда доступ то пытаетесь получить? В вашем случае это надо делать из самого вашего класса Widget. И в этом классе нет метода main Улыбающийся
Хотел бы получить доступ из main(). Почему я в main не могу обращаться к элементам формы, не пойму? Буду читать и смотреть уроки.
11  Qt / Вопросы новичков / Re: Как в файле cpp получить доступ к элементу фо&# : Ноябрь 15, 2020, 12:44
В widget.cpp в main() пишу:
Код
ui->

Но ничего нет. Обычно помощник высвечивает список доступных вещей.

Код:
ui->textEdit->setText("текст");

Пишет, что ui -- undeclared identifier. Что я делаю не так? Где его нужно объявлять?
12  Qt / Вопросы новичков / Как в файле cpp получить доступ к элементу фор : Ноябрь 15, 2020, 12:30
Прошу помочь разобраться. Создал виджет проект. В файле widget.ui добавил кнопку pushButton (QPushButton) и поле textEdit (QTextEdit).

Мне нужно в поле textEdit добавить текст. Как это сделать? Как получить доступ к созданным на ui элементам формы и их методам?

Понимаю, что должно быть что-то вроде этого:
Код
C++ (Qt)
QTextEdit edit;
edit.setReadOnly(true);
edit.insertPlainText("text");

В файле widget.cpp следующий код:

Код
C++ (Qt)
#include "widget.h"
#include "ui_widget.h"
 
#include <QApplication>
#include <QAxObject>
#include <QAxWidget>
#include <QtWidgets>
#include <QString>
 
Widget::Widget(QWidget *parent)
   : QWidget(parent)
   , ui(new Ui::Widget)
{
   ui->setupUi(this);
}
 
Widget::~Widget()
{
   delete ui;
}
 
 
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
 
   Widget mainWindow;
   mainWindow.setWindowTitle("qwerty");
 
   QVBoxLayout layout(&mainWindow);
 
   mainWindow.show();
   return a.exec();
}
 
void Widget::on_pushButton_clicked()
{
   this->close();
}
Страниц: [1]

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