rishatss
@rishatss
Simple Developer ^)

Как запустить скрипт из другого скрипта без конфликтов?

Добрый день господа.
Никак не могу запустить скрипт в скрипте так сказать.

Есть такое скрипт и его нужно запускать по клику на кнопку в другом скрипте.

# -*- coding: utf-8 -*-
# Goodd
import sys
from PyQt4 import QtCore, QtGui, QtSql
import bdcreater

def initializeModel(model):
   model.setTable('students')
   model.setEditStrategy(QtSql.QSqlTableModel.OnFieldChange)
   model.select()
   model.setHeaderData(0, QtCore.Qt.Horizontal, "ID")
   model.setHeaderData(1, QtCore.Qt.Horizontal, "First name")
   model.setHeaderData(2, QtCore.Qt.Horizontal, "Last name")
   model.setHeaderData(3, QtCore.Qt.Horizontal, "Phone")
   model.setHeaderData(4, QtCore.Qt.Horizontal, "Country")
   model.setHeaderData(5, QtCore.Qt.Horizontal, "City")
   model.setHeaderData(6, QtCore.Qt.Horizontal, "Group")
	
def createView(title, model):
   view = QtGui.QTableView()
   view.setModel(model)
   view.setWindowTitle(title)
   return view
	
def addrow():
   print model.rowCount()
   ret = model.insertRows(model.rowCount(), 1)
   print ret
	
def findrow(i):
   delrow = i.row()
	
if __name__ == '__main__':

   app = QtGui.QApplication(sys.argv)
   db = QtSql.QSqlDatabase.addDatabase('QSQLITE')
   db.setDatabaseName('students.db')
   model = QtSql.QSqlTableModel()
   delrow = -1
   initializeModel(model)
	
   view1 = createView("Table Model (View 1)", model)
   view1.clicked.connect(findrow)
	
   dlg = QtGui.QDialog()
   layout = QtGui.QVBoxLayout()
   layout.addWidget(view1)
	
   button = QtGui.QPushButton(u"Добавить ряд")
   button.clicked.connect(addrow)
   layout.addWidget(button)
	
   btn1 = QtGui.QPushButton(u"Удалить ряд")
   btn1.clicked.connect(lambda: model.removeRow(view1.currentIndex().row()))
   layout.addWidget(btn1)
	
   dlg.setLayout(layout)
   dlg.setWindowTitle(u"Первая версия БД лукера. By R.S")
   dlg.show()
   sys.exit(app.exec_())


Это главный скрипт через который подгружается графические интерфейс ( меню ) Как через питон запустить скрипт , тоже питона :) Именно запустить весь , а не одну функцию из кода. импортом.
#!/usr/bin/python
# -*- coding: utf-8 -*-
# python2.7
# ------------------------------------------------
import sys
from PyQt4 import QtCore, QtGui, uic, QtSql
import bdcreater,manage

class MainWindow(QtGui.QMainWindow):
    def __init__(self):
        QtGui.QMainWindow.__init__(self)
        uic.loadUi('main1.ui', self)
        self.open.clicked.connect(self.popen)  # Обработка нажатия на кнопку Открыть редактор
        self.find.clicked.connect(self.pfind)  # Обработка нажатия на кнопку Поиск

# def popen(self): Нужно запустить в этой ФК


 #   def pfind(self):







app = QtGui.QApplication(sys.argv)
w = MainWindow()
w.show()
w.setWindowTitle(u"SQL Rishat")
sys.exit(app.exec_())
  • Вопрос задан
  • 247 просмотров
Решения вопроса 2
sim3x
@sim3x
Запускать - неправильный подход
Импорт, исполнить функцию - правильный
Ответ написан
Комментировать
@kgbplus
Выше правильно говорят, как надо запускать. Но если хочется именно запустить на исполнение другой скрипт, то так же как и любую другую программу - subprocess.Popen илиsubprocess.call
в зависимости от того, нужно контролировать выполнение процесса или нет
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы