Exemplo n.º 1
0
	def __init__(self,setup={"host": "localhost", "database": "",\
		"user":"******", "password":""}, main_win=None):
		# Инициализация окна
		QtGui.QDialog.__init__(self)
		
		# Поля класса
		if DB.setupIsValid(setup):
			self.setup=setup
		else:
			self.setup={"host": "localhost", "database": "", "user":"******",\
				"password":""}
		if type(main_win)==MainWindow:
			self.main_win=main_win
		else:
			self.main_win=None
		
		# Настройка окна
		self.setWindowTitle("Настройка подключения к базе данных") # Установка названия окна
		self.resize(400,300) # Установка размера окна
		
		# Элементы окна
		self.host_le=QtGui.QLineEdit(self) # Поле ввода хоста
		self.database_le=QtGui.QLineEdit(self) # Поле ввода базы данных
		self.user_le=QtGui.QLineEdit(self) # Поле ввода пользователя
		self.password_le=QtGui.QLineEdit(self) # Поле ввода пароля
		self.host_l=QtGui.QLabel("Хост:") # Label хоста
		self.database_l=QtGui.QLabel("База данных:") # Label базы данных
		self.user_l=QtGui.QLabel("Пользователь:") # Label пользователя
		self.password_l=QtGui.QLabel("Пароль:") # Label пароля
		self.connect_b=QtGui.QPushButton("Подключение") # Кнопка подключения
		self.cancel_b=QtGui.QPushButton("Отмена") # Кнопка отмены
		
		# Настройка элементов окна
		self.password_le.setEchoMode(QtGui.QLineEdit.Password) # Установка маски для поля ввода пароля
		self.host_le.setText(self.setup["host"])
		self.database_le.setText(self.setup["database"])
		self.user_le.setText(self.setup["user"])
		self.password_le.setText(self.setup["password"])
		
		# Создание сетки
		self.layout=QtGui.QGridLayout(self)
		
		# Размещение элементов на сетке
		self.layout.addWidget(self.host_l,0,0,alignment=QtCore.Qt.AlignRight)
		self.layout.addWidget(self.database_l,1,0,alignment=QtCore.Qt.AlignRight)
		self.layout.addWidget(self.user_l,2,0,alignment=QtCore.Qt.AlignRight)
		self.layout.addWidget(self.password_l,3,0,alignment=QtCore.Qt.AlignRight)
		self.layout.addWidget(self.host_le,0,2,1,2)
		self.layout.addWidget(self.database_le,1,2,1,2)
		self.layout.addWidget(self.user_le,2,2,1,2)
		self.layout.addWidget(self.password_le,3,2,1,2)
		self.layout.addWidget(self.connect_b,4,3)
		self.layout.addWidget(self.cancel_b,4,4)
		
		# Установка сетки на окне
		self.setLayout(self.layout)
		
		# Установка действий на нажатия кнопок
		QtGui.QAction.connect(self.connect_b,QtCore.SIGNAL("clicked()"),\
		self.clickConnectButton)
Exemplo n.º 2
0
def write(filename,setup):
	if not DB.setupIsValid(setup):
		return False

	try:
		f=open(filename,"w")
	except:
		return False
	
	json.dump(setup,f,sort_keys=True,indent=4)
	f.close()
	return True	
Exemplo n.º 3
0
	def editSetup(self, setup):
		if DB.setupIsValid(setup):
			self.setup=setup
			return False
		else:
			return True
Exemplo n.º 4
0
	def __init__(self,conn=None, setup={"host": "localhost",\
		"database": "", "user":"******", "password":""}):
		# Инициализация окна
		QtGui.QMainWindow.__init__(self)
		
		# Поля класса
		if DB.connectionIsValid(conn):
			self.connection=conn
		else:
			self.connection=None
		if DB.setupIsValid(setup):
			self.setup=setup
		else:
			self.setup=None
		
		# Настройка окна
		self.setWindowTitle("Пациенты ООО \"Виста\"")
		self.resize(800,500)
		
		# Создание элементов окна
		self.pacients_tw=QtGui.QTableWidget()
		self.filter_p=FilterPanel()
		self.search_b=QtGui.QPushButton("Поиск")
		
		# Настройка элементов окна
		self.pacients_tw.setColumnCount(5)
		self.pacients_tw.setHorizontalHeaderLabels(["ФИО",\
		"Дата рождения\nвозраст",\
		"Пол",\
		"Действующий\nполис ОМС",\
		"Документ,\nподтверждающий личность"])
		self.pacients_tw.setColumnWidth(0,190)
		self.pacients_tw.setColumnWidth(1,150)
		self.pacients_tw.setColumnWidth(2,50)
		self.pacients_tw.setColumnWidth(3,190)
		self.pacients_tw.setColumnWidth(4,200)
		self.pacients_tw.horizontalHeader().setStretchLastSection(True)
		self.pacients_tw.horizontalHeader().setFixedHeight(35)
		self.pacients_tw.setMinimumHeight(200)
		#self.filter_gb.setStyleSheet("QGroupBox::title (border: 3px grey;\
		#	border-radius: 3px;margin-top: 1ex;)")
		self.filter_p.setMinimumHeight(200)
		self.search_b.setMinimumHeight(25)
		
		# Прикрепление к кнопкам действий
		QtGui.QAction.connect(self.search_b,\
			QtCore.SIGNAL("clicked()"),\
			self.clickSearchButton)
		
		# Создание центрального виджета
		self.cw=QtGui.QWidget() 
		
		# Создание слоя
		self.layout=QtGui.QGridLayout()
		
		# Настройка слоя
		
		# Прикрепление элементов к слою
		self.layout.addWidget(self.pacients_tw,0,0)
		self.layout.addWidget(self.filter_p,1,0)
		self.layout.addWidget(self.search_b,2,0)
		
		# Прикрепление слоя к центральному виджету
		self.cw.setLayout(self.layout)
		
		# Прикрепление центрального виджета к окну
		self.setCentralWidget(self.cw)