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

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

12.12.2022, 17:21. Показов 604. Ответов 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,763
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
1566 / 739 / 321
Регистрация: 02.05.2020
Сообщений: 1,654
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
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru