Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 27.04.2022
Сообщений: 29
PyQt5

Перенос картинок и текста с одного таба на другой

12.12.2022, 17:21. Показов 630. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В первом окне есть табы и в них можно добавлять картинки и текст, как сделать так, чтобы эти картинки автоматически загружались в табы(в табы с такой же позицией, что и в первом окне) другого окна, которое открывается по кнопке, находящейся в первом окне. Вот код, здесь реализовано вставка картинка и текста в выбранный таб первого окна
Python
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
from PyQt5.QtWidgets import QWidget, QMainWindow, QFileDialog, QInputDialog, QLabel, QApplication
from PyQt5.QtGui import QImage, QPixmap
from PyQt5.QtCore import QRect
from PyQt5 import uic
import sys
 
class FirstForm(QMainWindow):
  def __init__(self):
    super().__init__()
    uic.loadUi('form1.ui', self)
    self.secondForm = SecondForm()
    self.pushButton.clicked.connect(self.secondForm.show)
    self.secondForm.btn2_2.clicked.connect(self.addImage)
    self.secondForm.btn2.clicked.connect(self.addText)
 
  def getWidgetGeometry(self):
    try:
      x = int(self.secondForm.lineEdit.text())
      y = int(self.secondForm.lineEdit_2.text())
      w = int(self.secondForm.lineEdit_3.text())
      h = int(self.secondForm.lineEdit_4.text())
    except:
      x = 0
      y = 0    
      w = 100
      h = 100
    return QRect(x,y,w,h)
 
  def addImage(self):
    result = QFileDialog.getOpenFileName(self.secondForm, 'Выбрать картинку', '')
    if result[1]:
      image = QImage(result[0])
      label = QLabel('', self.tab)
      label.setPixmap(QPixmap.fromImage(image))
      label.setGeometry(self.getWidgetGeometry())
      label.show()
 
  def addText(self):
    result = QInputDialog.getText(self.secondForm, '', 'введите текст')
    if result[1]:
      label = QLabel(result[0], self.tab)
      label.setGeometry(self.getWidgetGeometry())
      label.show()
 
class SecondForm(QWidget):
  def __init__(self):
    super().__init__()
    uic.loadUi('form2.ui', self)
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = FirstForm()
    ex.show()
    sys.exit(app.exec_())
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.12.2022, 17:21
Ответы с готовыми решениями:

Перенос картинок в Excel с одного листа на другой
Добрый день! Я умею худо бедно программировать на VBA, а хочу сделать программу для Android, делаю прототип на VBA, чтоб потом готовую...

Перенос цифр из одного текста в другой
Суть задачи: с клавиатуры вводится текст(я вставил только малую часть ибо он огромен) class Object0 { type = "UralWreck"; ...

Перенос текста с одного файла в другой
Нужно перенести текст с одного файла в другой, и чтобы каждая строка была нумеровоной типа: input file : maksim ilya mama ...

4
963 / 718 / 276
Регистрация: 10.12.2016
Сообщений: 1,764
12.12.2022, 23:30
посмотрите QGraphicsScene, там добавлять можно картинки и текст и примеры сохранения в XML/JSON есть
https://translated.turbopages.... phicsscene
https://tufangorel.blogspot.co... riter.html
0
0 / 0 / 0
Регистрация: 27.04.2022
Сообщений: 29
13.12.2022, 07:08  [ТС]
А нельзя сразу добавлять текст и картинки сразу в два таба, не знаю как это реализовать правда, то есть синхронизировать их, у меня уже табы добавляются синхронизированно( один добавляешь в первом окне, в другом окне тоже добавляются и удаляются также) , то же самое с картинками реализовать?
0
 Аватар для kapbepucm
1567 / 740 / 321
Регистрация: 02.05.2020
Сообщений: 1,659
13.12.2022, 13:09
Цитата Сообщение от randomrandint Посмотреть сообщение
А нельзя сразу добавлять текст и картинки сразу в два таба
Тут будет не совсем решение, но направление, куда двигаться
При добавлении текста на первое вспомогательное окно, такой же текст появится и во втором окне:
Python
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
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore    import *
from PyQt5.QtGui     import *
class Child(QWidget):
  newText = pyqtSignal(str, int)
  def __init__(self, text):
    super().__init__(None)
    self.tabWidget = QTabWidget()
    tab1 = QWidget()
    tab1.setLayout(QVBoxLayout())
    self.tabWidget.addTab(tab1, "tab1")
    tab2 = QWidget()
    tab2.setLayout(QVBoxLayout())
    self.tabWidget.addTab(tab2, "tab2")
    l = QVBoxLayout()
    l.addWidget(QLabel(text))
    l.addWidget(self.tabWidget)
    self.setLayout(l)
  def addText(self, text, index=None):
    if index is None:
      index = self.tabWidget.currentIndex()
      self.newText.emit(text, index)
    else:
      self.tabWidget.setCurrentIndex(index)
    tab = self.tabWidget.widget(index)
    label = QLabel(text)
    tab.layout().addWidget(label)
class Main(QWidget):
  newText = pyqtSignal(str)
  def __init__(self):
    super().__init__(None)
    l = QVBoxLayout()
    self.b1 = QPushButton("добавить текст")
    self.b1.clicked.connect(self.addText)
    self.b2 = QPushButton("добавить картинку")
    l.addWidget(self.b1)
    l.addWidget(self.b2)
    self.setLayout(l)
  def addText(self):
    result = QInputDialog.getText(self, '', 'введите текст')
    if result[1]:
      self.newText.emit(result[0])
app = QApplication(sys.argv)
main = Main()
main.show()
c1 = Child("первое вспомогательное окно")
c1.show()
c2 = Child("второе вспомогательное окно")
c2.show()
main.newText.connect(c1.addText)
c1.newText.connect(c2.addText)
sys.exit(app.exec_())
0
0 / 0 / 0
Регистрация: 27.04.2022
Сообщений: 29
13.12.2022, 16:54  [ТС]
kapbepucm, а нельзя tabwidget какого-нибудь окна вывести другое окна, где с ним можно взаимодействовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2022, 16:54
Помогаю со студенческими работами здесь

Перенос текста из одного файла в другой
Доброго времени суток. У меня задача состоит примерно следующая. Есть текстовый файл, который являет собой список авторов, их книг и года...

Перенос текста из одного JTextField в другой
Извините за ламерский вопрос. Пытаюсь создать приложение, в котором на рамке 2 JTextField и одна кнопка. Необходимо, чтобы при нажатии...

перенос текста из одного файла в другой
Помогите пожалуйста новичку, есть 2 текстовых документов. есть код, который выводит на экран данные из 1 файла:$text = file('file2.txt'); ...

Перенос текста из одного файла в другой
Нужно ввести n-ое количество строк, которые сохраняется в файле text1.txt и переносятся в text2.txt. Но при вводе, например: я поел; в...

Перенос текста из одного компонента в другой
По заданию, мне нужно создать программу, в которой(3 текстовых поля и 3 кнопки, 1 текст поле отвечает за ввод текста, а вторые 2 за...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru