Как сделать таблицу в qt designer python
Перейти к содержимому

Как сделать таблицу в qt designer python

  • автор:

Как подставить в колонну в таблице tableWidget блок dataEdit? В Qt designer

введите сюда описание изображения

Как подставить блок dataEdit в определенный столбец в таблицу TableWidget . Если можно, то как провернуть данные действия в Qt designer?

Отслеживать
74.1k 114 114 золотых знаков 38 38 серебряных знаков 55 55 бронзовых знаков
задан 4 сен 2021 в 16:04
Андрей Александров Андрей Александров
560 2 2 серебряных знака 11 11 бронзовых знаков
Опубликуйте ваш модуль .ui и лучше расскажите что вы хотите сделать.
4 сен 2021 в 19:32

В вопросе про таймер и расчёт времени, вы использовали таблицу в первом столбце которой распологаются dataEdit. Вопрос как dataEdit поместить в таблицу в qt designer?

4 сен 2021 в 19:53

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Вы не сможете сделать это с помощью Qt Designer, сейчас можно вставить только текст.

введите сюда описание изображения

Самое простое и практичное решение — сделать это с помощью кода, примерно так:

 . row = 3 column = 2 self.tableWidget = QtWidgets.QTableWidget(row, column) for row in range(self.tableWidget.rowCount()): date_from = QtWidgets.QDateTimeEdit() date_from.setDateTime( # так # QtCore.QDateTime(QtCore.QDate(2021, 9, 4)) # или так QtCore.QDateTime(QtCore.QDate(2021, 8, 26), QtCore.QTime(15, 0, 0)) ) self.tableWidget.setCellWidget(row, 0, date_from) # . . 

void QTableWidget::setCellWidget(int row, int column, QWidget *widget)

Устанавливает данный виджет для отображения в ячейке в данной строке и столбце, передавая владение виджетом таблице.

Вставка текста из таблицы БД в Qt designer в QLineEdit

Author24 — интернет-сервис помощи студентам

У меня есть таблица в Базе Данных
Нужно вставит определенную строку из таблицы вставить в Qt designer в QLineEdit
Подскажите, пожалуйста, как это можно сделать
Знаю, что нужно использовать SQLQuery, но полностью разобраться не могу
Если нужны какие-то дополнительные данные, пишите

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Вставка текста или таблицы в WORD
Здравствуйте, уважаемые специалисты! У меня есть задача: необходимо в определенных случаях.

Вставка текста через VBA в ячейку таблицы
Есть код: Dim currText As Range ‘текущее выделение текста For i = 3 To 5 If.

Вставка в текст ячейки таблицы документа Word объектов отличных от текста
Здравствуйте! Столкнулся с задачей, решение которой никак не могу найти :cry:. Задача следующая.

Вставка рисунка в Qt Designer
Здравствуйте! Кто может подсказать как в форму добавить рисунок таким образом, чтобы он отображался.

Цвет текста в qlineedit
Как в qt реализовать, чтобы при вводе определенного слова (независимо от того одно это слово или.

Эксперт Python

2685 / 1591 / 513
Регистрация: 21.02.2017
Сообщений: 4,209
Записей в блоге: 1

Romchan, qt designer — нужен для создания форм, всю логику нужно писать ручками, я совсем недавно искал информацию об этом, в офф. доках все хорошо описано и даже примеры есть!

1007 / 351 / 59
Регистрация: 28.02.2013
Сообщений: 932

ЦитатаСообщение от Romchan Посмотреть сообщение

Подскажите, пожалуйста, как это можно сделать
1. Подключаемся к БД
2. Пишем sql запрос к таблице my_table:

query = QSqlQuery('SELECT * FROM my_table')

3. Думаем дальше что с этим query делать.

В вашем случае нужно из запроса, что то выбрать и установить setText для QLineEdit.

В общем, сделайте для себя более мелкие задачи и приводите код который вы пытались сделать, так сказать минимально воспроизводимый пример.

Добавлено через 12 минут
например =)

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Ввод текста в QLineEdit
Всем привет. В окне находится LineEdit, при попытке ввести текст в него без нажатия мышкой на рамку.

Выравнивание текста в QLineEdit
подскажите пожалуйсто , как в lineEdit сделать что бы текст был справа как на стандартном.

Вывод текста в QLineEdit
Нужно чтобы при введении в первое поле цифры 1, во втором поле, после нажатия кнопки, выводилось.

QLineEdit Проверка текста на пустоту
Дан QLineEdit с текстом ‘Введите текст", как проверить, к примеру если у него текст не "Введите.

Запись текста QLineEdit в переменную
Как при нажатии кнопки записать текст в переменную? from PyQt5 import QtCore, QtGui, QtWidgets .

Или воспользуйтесь поиском по форуму:

Как вывести записи из базы данных в tableWidget используя Pyside6/QT6?

60a16f09dc7cd796492935.png

Здравствуйте. Пытаюсь реализовать интерфейс программы используя Pyside6. Нарисовал форму в QT Designer, создал тестовую базу данных написал небольшой main.py. Не могу понять, как правильно написать код для построчного вывода данных из таблицы в tableWidget. Пытаюсь сделать это при нажатии на кнопку.
Слева в терминале выведены 5 строк с id и названием. Справа в таблицу добавляется только одна строка. Помогите, пожалуйста, разобраться в данной проблеме.

main.py

import sys
from PySide6.QtWidgets import QApplication, QMainWindow, QTableWidgetItem
from new__form import Ui_MainWindow

from db import Author
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, scoped_session

engine = create_engine(‘postgresql://postgres:secret@localhost:5432/stage’)
session_factory = sessionmaker(bind=engine)
Session = scoped_session(session_factory)
Base.metadata.create_all(engine)

class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton_2.clicked.connect(self.buttonClicked)

def buttonClicked(self):
session = Session()
for author in session.query(Author).order_by(Author.author_id):
print(author.author_id, author.name)
for row in range(10):
for col in range(2):
self.ui.tableWidget.setItem(
row, col, QTableWidgetItem(f»(,)»)
)

if __name__ == «__main__»:
app = QApplication()

window = MainWindow()
window.show()

new__form.py

from PySide6.QtCore import *
from PySide6.QtGui import *
from PySide6.QtWidgets import *

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u»MainWindow»)
MainWindow.resize(640, 480)
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u»centralwidget»)
self.tabWidget = QTabWidget(self.centralwidget)
self.tabWidget.setObjectName(u»tabWidget»)
self.tabWidget.setGeometry(QRect(0, 0, 631, 291))
self.tab_posetiteli = QWidget()
self.tab_posetiteli.setObjectName(u»tab_posetiteli»)
self.tableWidget = QTableWidget(self.tab_posetiteli)
if (self.tableWidget.columnCount() < 2):
self.tableWidget.setColumnCount(2)
__qtablewidgetitem = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(0, __qtablewidgetitem)
__qtablewidgetitem1 = QTableWidgetItem()
self.tableWidget.setHorizontalHeaderItem(1, __qtablewidgetitem1)
if (self.tableWidget.rowCount() < 1):
self.tableWidget.setRowCount(1)
__qtablewidgetitem2 = QTableWidgetItem()
self.tableWidget.setVerticalHeaderItem(0, __qtablewidgetitem2)
__qtablewidgetitem3 = QTableWidgetItem()
self.tableWidget.setItem(0, 0, __qtablewidgetitem3)
__qtablewidgetitem4 = QTableWidgetItem()
self.tableWidget.setItem(0, 1, __qtablewidgetitem4)
self.tableWidget.setObjectName(u»tableWidget»)
self.tableWidget.setGeometry(QRect(30, 10, 256, 192))
self.pushButton = QPushButton(self.tab_posetiteli)
self.pushButton.setObjectName(u»pushButton»)
self.pushButton.setGeometry(QRect(30, 210, 94, 28))
self.pushButton_2 = QPushButton(self.tab_posetiteli)
self.pushButton_2.setObjectName(u»pushButton_2″)
self.pushButton_2.setGeometry(QRect(190, 210, 94, 28))
self.tabWidget.addTab(self.tab_posetiteli, «»)
self.tab_prodaza = QWidget()
self.tab_prodaza.setObjectName(u»tab_prodaza»)
self.tabWidget.addTab(self.tab_prodaza, «»)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u»menubar»)
self.menubar.setGeometry(QRect(0, 0, 640, 30))
MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u»statusbar»)
MainWindow.setStatusBar(self.statusbar)

def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate(«MainWindow», u»MainWindow», None))
___qtablewidgetitem = self.tableWidget.horizontalHeaderItem(0)
___qtablewidgetitem.setText(QCoreApplication.translate(«MainWindow», u»id», None));
___qtablewidgetitem1 = self.tableWidget.horizontalHeaderItem(1)
___qtablewidgetitem1.setText(QCoreApplication.translate(«MainWindow», u»FIO», None));
___qtablewidgetitem2 = self.tableWidget.verticalHeaderItem(0)
___qtablewidgetitem2.setText(QCoreApplication.translate(«MainWindow», u»test», None));

__sortingEnabled = self.tableWidget.isSortingEnabled()
self.tableWidget.setSortingEnabled(False)
___qtablewidgetitem3 = self.tableWidget.item(0, 0)
___qtablewidgetitem3.setText(QCoreApplication.translate(«MainWindow», u»1″, None));
___qtablewidgetitem4 = self.tableWidget.item(0, 1)
___qtablewidgetitem4.setText(QCoreApplication.translate(«MainWindow», u»Test Tesov», None));
self.tableWidget.setSortingEnabled(__sortingEnabled)

self.pushButton.setText(QCoreApplication.translate(«MainWindow», u»Read», None))
self.pushButton_2.setText(QCoreApplication.translate(«MainWindow», u»Add», None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_posetiteli), QCoreApplication.translate(«MainWindow», u»Posetiteli», None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_prodaza), QCoreApplication.translate(«MainWindow», u»Prodaza», None))
# retranslateUi

from sqlalchemy import Column, ForeignKey, Integer, String, Text, Date, DateTime
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base

class Topic(Base):
__tablename__ = ‘topic’
__tableargs__ = ‘comment’: ‘Темы цитат’
>

topic_id = Column(
Integer,
nullable=False,
unique=True,
primary_key=True,
autoincrement=True
)
name = Column(String(128), comment=’Наименование темы’)
description = Column(Text, comment=’Описание темы’)

__tablename__ = ‘author’
__tableargs__ = ‘comment’: ‘Авторы цитат’
>

author_id = Column(
Integer,
nullable=False,
unique=True,
primary_key=True,
autoincrement=True
)
name = Column(String(128), comment=’Имя автора’)
birth_date = Column(Date, comment=’Дата рождения автора’)
country = Column(String(128), comment=’Страна рождения автора’)

__tablename__ = ‘quote’
__tableargs__ = ‘comment’: ‘Цитаты’
>

quote_id = Column(
Integer,
nullable=False,
unique=True,
primary_key=True,
autoincrement=True
)
text = Column(Text, comment=’Текст цитаты’)
created_at = Column(DateTime, comment=’Дата и время создания цитаты’)
author_id = Column(Integer, ForeignKey(‘author.author_id’), comment=’Автор цитаты’)
topic_id = Column(Integer, ForeignKey(‘topic.topic_id’), comment=’Тема цитаты’)
author = relationship(‘Author’, backref=’quote_author’, lazy=’subquery’)
topic = relationship(‘Topic’, backref=’quote_topic’, lazy=’subquery’)

  • Вопрос задан более двух лет назад
  • 1180 просмотров

Qt: создать таблицу

есть какие то table view & table widget но это не то. вобщем как в qtdesigner сделать таблицу, чтобы работать с ней через ui?

preepunk ★
24.09.11 21:39:51 MSK

хочу сделать обычную таблицу несколько столбцов и какое то количество строк (меняется по ходу работы)

как в qtdesigner сделать таблицу, чтобы работать с ней через ui

Вы мужчина хотите странного, возможно Вы испорчены C#

зачем Вам это надо?

shty ★★★★★
( 24.09.11 21:46:53 MSK )

И чем не устроили QTableView и QTableWidget если не сектрет? Ведь других подобных виджетов в стандартной поставке нет и непредвидится.

SLiDER ★
( 24.09.11 21:47:56 MSK )
Ответ на: комментарий от SLiDER 24.09.11 21:47:56 MSK

других подобных виджетов в стандартной поставке нет и не предвидится.

вообще-то от них можно унаследоваться и переопределить их как хочется и заюзать в изменённом варианте

shty ★★★★★
( 24.09.11 21:52:00 MSK )
Ответ на: комментарий от shty 24.09.11 21:52:00 MSK

Я ж говорю про -> стандартную
SLiDER ★
( 24.09.11 22:07:09 MSK )
Ответ на: комментарий от SLiDER 24.09.11 22:07:09 MSK

в такой постановке соглашусь

shty ★★★★★
( 24.09.11 22:08:55 MSK )

ничегонепонял

чем не угодил table widget? и что значит «работать с ней через ui»,

seed_stil ★★
( 24.09.11 22:38:35 MSK )
Ответ на: ничегонепонял от seed_stil 24.09.11 22:38:35 MSK

как я понял он хочет виджет, который можно заполнить значениями в процессе редактирования формы во время design time, прямо в ui

это можно попробовать сделать, не через анус, но всё же. непонятно только вот напуркуа это нужно

shty ★★★★★
( 24.09.11 23:00:34 MSK )

мьсье сильно испорчен дельфями, сам такой был. читай про modelview в QTableView. в кутях принцииально не получиться показать таблицу в в IDE

TERRANZ ★★★★
( 25.09.11 10:04:26 MSK )
Ответ на: комментарий от TERRANZ 25.09.11 10:04:26 MSK

дельфями никогда не пользовался, как было сказано выше испорчен сишарпами). вопрос решен пишу руками

preepunk ★
( 25.09.11 14:04:25 MSK ) автор топика
Ответ на: комментарий от preepunk 25.09.11 14:04:25 MSK

я бы делал так:
1) делаете стандартный model/view
2) для модели делаете возможность загрузки данных в каком-нибудь csv (ручками довольно несложно сделать)
3) таблицу забиваете в openoffice.calc, меняете каждый раз что надо в ней и экспортите в csv
4) При загрузке формы подгружаете нужный csv

shty ★★★★★
( 25.09.11 14:55:52 MSK )

Топикстартер либо толстенный троль, либо криворукий неуч, которого надо научить читать мануалы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *