Stack Overflow на русском Asked by INdigrID on November 26, 2020
Есть 2 кода, один мне дали, другой писал сам. Нужно их объединить. Надо, чтоб размеры и название окна, названия клавиш и тд были как в первом коде, а после нажатия на клавишу(это реализованно во втором коде) подключался второй код, и появлялась таблица из базы данных.
Вот первый код:
import sys
from PyQt5 import QtMultimedia, QtCore
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QWidget, QLabel, QPushButton, QLineEdit, QApplication, QMainWindow
class Guitar(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(250, 55, 1200, 800)
self.setWindowTitle('Гитара')
self.Accords_button = QPushButton('список аккордов', self)
self.Accords_button.resize(200, 100)
self.Accords_button.move(300, 500)
self.Songs_button = QPushButton('список песен', self)
self.Songs_button.resize(200, 100)
self.Songs_button.move(300, 200)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Guitar()
ex.show()
sys.exit(app.exec_())
Вот второй код:
import sys
from PyQt5.QtWidgets import QWidget, QTableView, QDialog, QPushButton, QApplication, QVBoxLayout
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
class Films(QDialog):
def __init__(self, parent):
super().__init__(parent)
self.setWindowTitle('Films')
main_layout = QVBoxLayout()
self.model = QSqlTableModel(self)
self.model.setTable('films')
self.view_films = QTableView()
self.view_films.setModel(self.model)
main_layout.addWidget(self.view_films)
self.setLayout(main_layout)
def refresh(self):
self.model.select()
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.db = QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName('films_db.sqlite')
self.db.open()
self.initUI()
def initUI(self):
main_layout = QVBoxLayout()
self.button_films = QPushButton('список фильмов')
self.button_films.clicked.connect(self._show_films)
self.button_serials = QPushButton('список сериалов')
main_layout.addWidget(self.button_films)
main_layout.addWidget(self.button_serials)
self.setLayout(main_layout)
def _show_films(self):
films = Films(self)
films.refresh()
films.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MainWindow()
ex.show()
sys.exit(app.exec_())
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP