Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 17

GUI обертка над консолью

04.11.2013, 12:22. Показов 2537. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, доброго времени суток. Пытаюсь сейчас перевести свою консольную программу, в гуи приложение. Никак не могу разобраться как сделать вывод результата работы функции в окошко. Попробывал для примера сделать так:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QObject::connect(ui->pushButton, SIGNAL(clicked()), this , SLOT(MyEventHandler()));
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::MyEventHandler()
{
   ui->lineEdit->setText("jljlj");
}
jljlj вывелось. Обрадовавшись я решил сделать так:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QObject::connect(ui->pushButton, SIGNAL(clicked()), this , SLOT(MyEventHandler()));
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::MyEventHandler()
{
    int x =2;
    ui->lineEdit->setText(x);
}
в ответ получил это

D:\Qqt\Tools\QtCreator\bin\untitled\main window.cpp:19: ошибка: invalid user-defined conversion from 'int' to 'const QString&' [-fpermissive]

D:\Qqt\Tools\QtCreator\bin\untitled\main window.cpp:19: ошибка: invalid conversion from 'int' to 'const char*' [-fpermissive]

помогите сделать правильно
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2013, 12:22
Ответы с готовыми решениями:

Приложение GUI как обертка над консольной утилитой
Есть консольная утилита, которая ожидает ввод известных для нее команд, на которые она выполняет известные операции. Утилита сторонних...

GUI-обёртка на java
Извиняюсь за глупый вопрос, но можно ли создать на GUI-обёртку для консольного приложения? Допустим, я хочу сделать обёртку для...

Работа с консолью из GUI
Есть консольное приложение, запускающееся с параметрами. Возможно ли написание программы, которая будет читать текст из той консоли, и...

9
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 19
04.11.2013, 12:53
C++ (Qt)
1
ui->lineEdit->setText(QString::number(x));
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 17
04.11.2013, 12:59  [ТС]
Цитата Сообщение от Indys_Qt Посмотреть сообщение
C++ (Qt)
1
ui->lineEdit->setText(QString::number(x));

Благодарю =3333

и как заменить строку

C++ (Qt)
1
cin << x;
0
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 19
04.11.2013, 13:00
Цитата Сообщение от musicprojectboy Посмотреть сообщение
cin << x;
х = ui->lineEdit->text().toInt();
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 17
04.11.2013, 13:31  [ТС]
Цитата Сообщение от Indys_Qt Посмотреть сообщение
х = ui->lineEdit->text().toInt();
Благодарю. Вы спасли меня.

Добавлено через 23 минуты
Цитата Сообщение от Indys_Qt Посмотреть сообщение
х = ui->lineEdit->text().toInt();
А не, не спасли с:

Ругаеться qt

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    QObject::connect(ui->pushButton, SIGNAL(clicked()), this , SLOT(MyEventHandler()));
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::MyEventHandler()
{
    int x;
    х=ui->lineEdit_2->text().toInt();
    ui->lineEdit->setText(QString::number(x));
}
D:\Qqt\Tools\QtCreator\bin\untitled\main window.cpp:20: ошибка: stray '\321' in program
D:\Qqt\Tools\QtCreator\bin\untitled\main window.cpp:20: ошибка: stray '\205' in program
D:\Qqt\Tools\QtCreator\bin\untitled\main window.cpp:20: ошибка: expected primary-expression before '=' token

Это все на вот эту строку

C++ (Qt)
1
х=ui->lineEdit_2->text().toInt();
0
1 / 1 / 0
Регистрация: 04.11.2013
Сообщений: 19
04.11.2013, 13:45
C++ (Qt)
1
2
3
4
5
6
void MainWindow::on_pushButton_clicked()
{
    int x;
    x = ui->lineEdit->text().toInt();
    ui->lineEdit_2->setText(QString::number(x));
}
отлично отрабатывает
0
9 / 9 / 0
Регистрация: 04.04.2012
Сообщений: 20
04.11.2013, 15:48
musicprojectboy, скорее всего это из-за копи-паста.
Попробуйте вручную переписать метод.

C++ (Qt)
1
2
3
4
5
6
void MainWindow::MyEventHandler()
{
    int x;
    х=ui->lineEdit_2->text().toInt();
    ui->lineEdit->setText(QString::number(x));
}
1
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 17
04.11.2013, 16:06  [ТС]
Цитата Сообщение от iRudoy Посмотреть сообщение
musicprojectboy, скорее всего это из-за копи-паста.
Попробуйте вручную переписать метод.

C++ (Qt)
1
2
3
4
5
6
void MainWindow::MyEventHandler()
{
    int x;
    х=ui->lineEdit_2->text().toInt();
    ui->lineEdit->setText(QString::number(x));
}

Благодарю =) собственно мной так и было сделано =)
0
0 / 0 / 0
Регистрация: 19.07.2012
Сообщений: 17
04.11.2013, 17:44  [ТС]
Господа и снова я.
Что то туго идет... как прикрутить gui тут?...

main.cpp
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
 
struct BB
{
    char fio[15], address[15], urgency[5];
    int number_account, sum, cur_year, dep_year;
};
 
class Bank
{
public:
    
 
    /*
     * ввод данных в файл
    */
 
    void input_file()
    {
        int i, n;
        struct BB x;
        ofstream input_data("bank.txt");
 
        if(!input_data)
        {
            cerr << "can not open file bank.txt" << endl;
        }
 
        cout << "input number records in file:" << endl;
        cin >> n;
 
        cout << "input: fio, address, urgency, number_account, sum, cur_year, dep_year:" << endl;
        for(i=1; i<=n; i++)
        {
            cout << "NUMBER " << i << endl;
 
            cin >> x.fio >> x.address >> x.urgency >> x.number_account >> x.sum
                >> x.cur_year >> x.dep_year;
 
            input_data << x.fio  << " " << x.address << " " << x.urgency << " " << x.number_account << " " << x.sum
                       << " " << x.cur_year << " " << x.dep_year << endl;
        }
 
        input_data.close();
    }
 
 
    /*
     * вывод данных из файла
    */
 
    void output_file(char file[20])
    {
        struct BB x;
        ifstream output_data(file);
        cout << endl << "*********************" << endl;
        while(!output_data.eof())
        {
            output_data >> x.fio  >> x.address >> x.urgency >> x.number_account >> x.sum >> x.cur_year >> x.dep_year;
            if(output_data.eof())
                break;
 
           cout << x.fio << " " << x.address << " " << x.urgency << " " << x.number_account << " " << x.sum
                << " " << x.cur_year << " " << x.dep_year << endl;
        }
        cout << endl << "*********************" << endl;
 
        output_data.close();
    }
 
    /*
     * ввод номера операции
    */
 
    int num_oper(char met[30])
    {
        int number;
 
        cout << met << endl;
 
        cout << "1. fio" << endl;
        cout << "2. address" << endl;
        cout << "3. urgency" << endl;
        cout << "4. number account" << endl;
        cout << "5. sum" << endl;
        cout << "6. current year" << endl;
        cout << "7. deposit year" << endl;
 
        cout << "input number of field:" << endl;
        cin >> number;
        return number;
    }
 
    /*
     * сортировка с помощью файлов
    */
 
    void sort_data_file()
    {
        int fl, field;
        struct BB x, y;
 
        field = num_oper("sorting by file");
 
        fl = 1;
 
        while(fl == 1)
        {
            fl = 0;
 
            ifstream read_data("bank.txt");
            ofstream write_data("sort.txt");
 
 
            read_data >> x.fio  >> x.address >> x.urgency >> x.number_account >> x.sum >> x.cur_year >> x.dep_year;
            if(read_data.eof())
                break;
 
            while(!read_data.eof())
            {
                read_data >> y.fio  >> y.address >> y.urgency >> y.number_account >> y.sum >> y.cur_year >> y.dep_year;
                if(read_data.eof())
                    break;
 
                if((field == 1 && strcmp(x.fio, y.fio) > 0) ||
                    (field == 2 && strcmp(x.address, y.address) > 0) ||
                    (field == 3 && strcmp(x.urgency, y.urgency) > 0) ||
                    (field == 4 && x.number_account > y.number_account) ||
                    (field == 5 && x.sum > y.sum) ||
                    (field == 6 && x.cur_year > y.cur_year) ||
                    (field == 7 && x.dep_year > y.dep_year))
                {
                    fl = 1;
                    write_data << y.fio  << " " << y.address <<" " << y.urgency << " " << y.number_account
                               << " " << y.sum << " " << y.cur_year << " " << y.dep_year << endl;
                }
                else
                {
                    write_data << x.fio  << " " << x.address <<" " << x.urgency << " " << x.number_account
                               << " " << x.sum << " " << x.cur_year << " " << x.dep_year << endl;
 
                    strcpy(x.fio, y.fio);
                    strcpy(x.address, y.address);
                    strcpy(x.urgency, y.urgency);
                    x.number_account = y.number_account;
                    x.sum = y.sum;
                    x.cur_year = y.cur_year;
                    x.dep_year = y.dep_year;
                }
            }
            write_data << x.fio  << " " << x.address <<" " << x.urgency << " " << x.number_account
                       << " " << x.sum << " " << x.cur_year << " " << x.dep_year << endl;
            write_data.close();
            read_data.close();
 
            ifstream read_data2("sort.txt");
            ofstream write_data2("bank.txt");
 
            while(!read_data2.eof())
            {
                read_data2 >> y.fio  >> y.address >> y.urgency >> y.number_account >> y.sum >> y.cur_year >> y.dep_year;
                if(read_data2.eof())
                    break;
 
                write_data2 << y.fio  << " " << y.address <<" " << y.urgency << " " << y.number_account
                            << " " << y.sum << " " << y.cur_year << " " << y.dep_year << endl;
            }
 
            read_data2.close();
            write_data2.close();
        }
    }
 
    /*
     * сортировка с помощью дополнительных массивов
    */
 
    void sort_data_mass()
    {
        int i, fl, kol_rec, temp_int, field;
        struct BB x[20];
        char temp[15];
 
        field = num_oper("sorting by array");
 
        ifstream read_data("bank.txt");
 
        i = 0;
        while(!read_data.eof())
        {
            read_data >> x[i].fio >> x[i].address >> x[i].urgency >> x[i].number_account >> x[i].sum >> x[i].cur_year
                      >> x[i].dep_year;
            if(read_data.eof())
                break;
            i++;
        }
        kol_rec = i;
 
        read_data.close();
 
        fl = 1;
        while(fl == 1)
        {
            fl = 0;
 
            for(i=0; i<kol_rec-1; i++)
            {
                if((field == 1 && strcmp(x[i].fio, x[i+1].fio) > 0) ||
                    (field == 2 && strcmp(x[i].address, x[i+1].address) > 0) ||
                    (field == 3 && strcmp(x[i].urgency, x[i+1].urgency) > 0) ||
                    (field == 4 && x[i].number_account > x[i+1].number_account) ||
                    (field == 5 && x[i].sum > x[i+1].sum) ||
                    (field == 6 && x[i].cur_year > x[i+1].cur_year) ||
                    (field == 7 && x[i].dep_year > x[i+1].dep_year))
                {
                    strcpy(temp, x[i].fio);
                    strcpy(x[i].fio, x[i+1].fio);
                    strcpy(x[i+1].fio, temp);
 
                    strcpy(temp, x[i].address);
                    strcpy(x[i].address, x[i+1].address);
                    strcpy(x[i+1].address, temp);
 
                    strcpy(temp, x[i].urgency);
                    strcpy(x[i].urgency, x[i+1].urgency);
                    strcpy(x[i+1].urgency, temp);
 
                    temp_int = x[i].number_account;
                    x[i].number_account = x[i+1].number_account;
                    x[i+1].number_account = temp_int;
 
                    temp_int = x[i].sum;
                    x[i].sum = x[i+1].sum;
                    x[i+1].sum = temp_int;
 
                    temp_int = x[i].cur_year;
                    x[i].cur_year = x[i+1].cur_year;
                    x[i+1].cur_year = temp_int;
 
                    temp_int = x[i].dep_year;
                    x[i].dep_year = x[i+1].dep_year;
                    x[i+1].dep_year = temp_int;
 
                    fl = 1;
                }
            }
        }
 
        ofstream write_data("sort.txt");
 
        for(i=0; i<kol_rec; i++)
        {
            write_data << x[i].fio  << " " << x[i].address <<" " << x[i].urgency << " " << x[i].number_account
                       << " " << x[i].sum << " " << x[i].cur_year << " " << x[i].dep_year << endl;
        }
 
        write_data.close();
    }
 
    /*
     * сортировка с помощью индексирования
    */
 
    void sort_data_index()
    {
        int i, fl, kol_rec, temp_int, field;
        struct BB x[20];
        int ind[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
 
        field = num_oper("sorting by indexes");
 
        ifstream read_data("bank.txt");
 
        i = 0;
        while(!read_data.eof())
        {
            read_data >> x[i].fio >> x[i].address >> x[i].urgency >> x[i].number_account >> x[i].sum >> x[i].cur_year
                      >> x[i].dep_year;
            if(read_data.eof())
                break;
            i++;
        }
        kol_rec = i;
 
        read_data.close();
 
        fl = 1;
        while(fl == 1)
        {
            fl = 0;
 
            for(i=0; i<kol_rec-1; i++)
            {
                if((field == 1 && strcmp(x[ind[i]].fio, x[ind[i+1]].fio) > 0) ||
                    (field == 2 && strcmp(x[ind[i]].address, x[ind[i+1]].address) > 0) ||
                    (field == 3 && strcmp(x[ind[i]].urgency, x[ind[i+1]].urgency) > 0) ||
                    (field == 4 && x[ind[i]].number_account > x[ind[i+1]].number_account) ||
                    (field == 5 && x[ind[i]].sum > x[ind[i+1]].sum) ||
                    (field == 6 && x[ind[i]].cur_year > x[ind[i+1]].cur_year) ||
                    (field == 7 && x[ind[i]].dep_year > x[ind[i+1]].dep_year))
                {
                    temp_int = ind[i];
                    ind[i] = ind[i+1];
                    ind[i+1] = temp_int;
 
                    fl = 1;
                }
            }
        }
 
        ofstream write_data("sort.txt");
 
        for(i=0; i<kol_rec; i++)
        {
            write_data << x[ind[i]].fio << " " << x[ind[i]].address <<" " << x[ind[i]].urgency << " "
                       << x[ind[i]].number_account << " " << x[ind[i]].sum << " "
                       << x[ind[i]].cur_year << " " << x[ind[i]].dep_year << endl;
        }
 
        write_data.close();
    }
 
    /*
     * ввод номера счета
    */
 
    int input_num_account()
    {
        int num_account;
 
        num_account=ui->editSchetSpis->text().toInt();
 
 
        return num_account;
    }
 
    /*
     * подсчет суммы вклада
    */
 
    int cal_sum()
    {
        struct BB x[20];
        int num_account, i, ind_account, result;
 
        num_account = input_num_account();
 
        ifstream read_data("bank.txt");
 
        i = 0;
 
        while(!read_data.eof())
        {
            read_data >> x[i].fio >> x[i].address >> x[i].urgency >> x[i].number_account >> x[i].sum >> x[i].cur_year
                      >> x[i].dep_year;
 
            if(x[i].number_account == num_account)
            {
                ind_account = i;
                break;
            }
 
            i++;
        }
 
        read_data.close();
 
        result = x[ind_account].cur_year - x[ind_account].dep_year;
        result = result * x[ind_account].sum;
 
        return result;
    }
 
    /*
     * удаление записи из файла
    */
 
    void del_record()
    {
        int i, num_account;
        struct BB x[20];
        num_account = input_num_account();
 
        ifstream read_data("bank.txt");
        ofstream write_data("bank_new.txt");
 
        i = 0;
 
        while(!read_data.eof())
        {
            read_data >> x[i].fio >> x[i].address >> x[i].urgency >> x[i].number_account >> x[i].sum >> x[i].cur_year
                      >> x[i].dep_year;
            if(read_data.eof())
                break;
 
            if(x[i].number_account != num_account)
            {
                write_data << x[i].fio  << " " << x[i].address <<" " << x[i].urgency << " " << x[i].number_account
                           << " " << x[i].sum << " " << x[i].cur_year << " " << x[i].dep_year << endl;
            }
 
            i++;
        }
 
        cout << "record deleted success!" << endl;
 
        write_data.close();
        read_data.close();
    }
};
 
/*
 * главная функция
*/
 
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    Bank bank;
    
    return a.exec();
}
mainwindow.cpp (не трогал)
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
покажите на примере одной функции хотя бы как это сделать...

ввод переменных через line edit..
0
267 / 189 / 33
Регистрация: 15.01.2011
Сообщений: 681
04.11.2013, 18:33
C++
1
2
3
4
5
6
....
QLineEdit le;// кинуть на форму или создать по ходу дела
struct BB x;
le.insert(QString::fromAscii(x.fio));// если fio оканчивается нулем
le.insert(QString::fromLocal8Bit(x.fio,15)); // все что лежит в fio
...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2013, 18:33
Помогаю со студенческими работами здесь

Обертка над INotifyPropertyChanged
Я пытаюсь написать (если это возможно) обертку над INotifyPropertyChanged. Просто во первых при его реализации в классах приходится писать...

Обертка над C библиотекой
Всем здравствуйте. Есть dll написанная на C и заголовочные файлы. Хочу написать обертку на C++/CLI, чтобы в дальнейшем использовать в C#....

Обертка над Си библиотекой
Добрый день, имеется библиотека написанная на Си (API для работы с оборудованием), хочу обернуть ее в код C#. Вот код написанный на...

Обёртка над WinAPI
В архиве обычная обёртка над формой на WinApi, (ничего лишнего только класс формы); Чтобы создать форму в main.cpp объявлен класс MyWnd...

Обертка над массивом double[]
Здравствуйте, подскажите пожалуйста с решением задания. Само задание: Нужно организовать различные виды доступа к одним и тем же...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru