crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


Сейчас на сайте человек: 89
(пользователей: 0, гостей: 89)
Google.com, Yandex.com

Перейти к месяцу

Июнь 2020

  ПВСЧПСВ
»
1
3
4
5
6
7
»
8
11
12
13
14
»
16
19
»
22
23
24
25
27
28
»
29

> Последние обсуждения
Iron Bug @ 28.5.2020, 16:22
Просмотров: 77   Комментариев: 1
 
> Вопрос про i18n в Qt и ts-файлы
Автор Iron Bug — 28.5.2020, 16:22 — 1 комментариев
вот, админю-админю, надо хоть раз воспользоваться, так сказать, плодами трудов своих и задать вопрос на форуме :)

вопрос простой. просто я обычно не имею дел с Qt.

есть проект с Qt. там много всяких заморочек и в том числе перевод интерфейса на кучу языков. мне нужно было подправить код, вырезав оттуда всё ненужное. я это успешно сделала, но не тут-то было! оказалось, что при старте всё падает. стала копать, почему, и нарыла такую фигню: в каталоге проекта есть каталог locales и в нём куча файлов с расширением ts. и в этих злобных файлах явно указана привязка к номерам строк и файлам в коде(!).

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

да, никаких креаторов у меня нет и не планируется, я использую сборку через qmake.
Просмотров: 77, последний комментарий от Алексей1153   

> Совмещение виджетов и opengl
Автор KuvshinoF — 27.5.2020, 12:17 — 4 комментариев
На форме есть 5 виджетов (квадратные QLabel-ы), расположенные в строку - между каждой из их пары надо нарисовать opengl-стрелку(функция отрисовки стрелки есть). Как это сделать, то есть совместить opengl-сцену с, получается что, наложенными на нее виджетами? Виджеты должны быть именно виджетами, а не opengl-рисованными квадратами, так как надо будет обрабатывать их онклик, да, можно и у opengl-сцены обработать mousePressEvent, но тогда как определить на какой именно квадрат(типа QLabel) кликнули? по координатам мыши проверять как-то не очень объектно-ориентированно, поэтому элементы для онклика должны быть отдельными объектами, т.е. виджетами.
Просмотров: 115, последний комментарий от KuvshinoF   

> qtableView как сделать перенос текста в ячейке, если не влезает в ширину столбца?
Автор zhilenkov — 24.5.2020, 7:55 — 0 комментариев
Как сделать перенос текста в ячейке, если не влезает в ширину столбца в qtableView?

Попытался сделать вот так:
    ui->tableView->setModel(model);
    ui->tableView->setWordWrap(true);
    ui->tableView->setTextElideMode(Qt::ElideNone);
    ui->tableView->setFont(font);
    ui->tableView->verticalHeader()->setResizeMode(QHeaderView::ResizeToContents);
    ui->tableView->resizeColumnToContents(0);
    ui->tableView->resizeColumnToContents(1);
    ui->tableView->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);
    ui->tableView->horizontalHeader()->setResizeMode(1, QHeaderView::Fixed);
    ui->tableView->horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);

Но получил, что первая строчка еще переносится а следующие нет.
Просмотров: 53, оставить комментарий   

> Ошибка в простой программе GTK
Автор tumanovalex — 21.5.2020, 0:38 — 0 комментариев
Windows 10 Home 64 bit, CodeBlocks 20.03. Программа
#include <gtk/gtk.h>

static void destroy (GtkWidget*, gpointer);
static void color_changed (GtkColorButton*, GtkWidget*);

int main (int argc, char *argv[])
{
  GtkWidget *window, *button, *label, *hbox;

  GdkRGBA rgba;

  gtk_init (&argc, &argv);

  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "Color Button");
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);

  g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL);

  rgba.alpha = 0.0; rgba.blue = 0.0; rgba.green = 0.0; rgba.red = 0.0;
  button = gtk_color_button_new_with_rgba(&rgba);
  label = gtk_label_new ("Look at my color!");
  gtk_widget_override_color(label, GTK_STATE_NORMAL, &rgba);

  g_signal_connect (G_OBJECT (button), "color_set", G_CALLBACK (color_changed), (gpointer) label);

  hbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
  gtk_box_pack_start(GTK_BOX (hbox), button, FALSE , TRUE , 5);
  gtk_box_pack_start(GTK_BOX (hbox), label, FALSE , TRUE , 5);

  gtk_container_add (GTK_CONTAINER (window), hbox);

  gtk_widget_show_all (window);

  gtk_main ();
  return 0;
}

static void color_changed (GtkColorButton *button, GtkWidget *label)
{
  GdkRGBA rgba;
  gtk_color_chooser_get_rgba((GtkColorChooser*) button, &rgba);
  gtk_widget_override_color(label, GTK_STATE_NORMAL, &rgba);
}

static void destroy (GtkWidget *window,          gpointer data)
{
  gtk_main_quit ();
}
При запуске в терминальном (консольном) режиме появляется ошибка "(cbGtkStudyWin.exe:1644): Gtk-CRITICAL **: gtk_box_reorder_child: assertion `GTK_IS_WIDGET (child)' failed". Просмотрел весь код несколько раз, но так и не понял, из-за чего возникает ошибка. Помогите, пожалуйста, разобраться
Прикрепленные файлы
Прикрепленный файл  cbGtkStudyWin.zip ( 22.34 килобайт ) Кол-во скачиваний: 4
 
Просмотров: 62, оставить комментарий   

RSS Текстовая версия Сейчас: 6.6.2020, 20:52