Найти - Пользователи
Полная версия: Вывод переменной на виджет
Начало » Python для новичков » Вывод переменной на виджет
1 2 3
PEHDOM
Agriel
Спасибо, но у переменной a тип float на выходе, как вывести после запятой?
str(a)должна полностью преобразовать все число
  >>> a=1.2345
>>> a
1.2345
>>> str(a)
'1.2345'
>>>
Вначале вы создаете lbl2 пустым и ширина виджета равна одному символу. Поскольку вы не используете упаковщик виджетов, то вам придеться самому контролировать размер виджета. добавте после self.lbl2.setText…. self.lbl2.adjustSize() это подгонит размер виджета до длинны текста.
vic57
Agriel
И может быть есть возможность сделать это красивее?
QLabel понимает HTML тэги
 #coding:utf-8
from PyQt4.QtGui import *
from PyQt4.QtCore import *
app = QApplication([])
l = QLabel()
l.setAlignment(Qt.AlignHCenter | Qt.AlignVCenter)
l.setFont(QFont("times",32))
s ="<h2><i>"+u'Текст'+"</i></h2>"
s +="<font color=red>" + u'Еще текст'+ "</font><br>"
s += "<i><font color = blue>"+ u'И еще текст'+"</font></i>"
l.setText(s)
l.resize(300,200)
l.show()
app.exec_()
Agriel
Спасибо всем, все работает. В коде выше были строки
 global a, b
df = pd.read_csv("D:\qwerty.csv")
x = df.iloc[:,:-1]
y = df.iloc[:,-1]
skm = lm.LinearRegression()
skm.fit(x, y)
a = skm.intercept_
b = skm.coef_

Возможно ли на виджете в меню сделать событие Open, в котором пользователь выбирает файл и он читается в переменную df ?
vic57
Agriel
Возможно ли на виджете в меню сделать событие Open, в котором пользователь выбирает файл и он читается в переменную df ?
QFileDialog.getOpenFilename
Agriel
vic57
я это нашел, у меня вопрос как обработать это с pandas?
PEHDOM
filename = QtGui.QFileDialog.getOpenFileName()
после нажатия ф диалоге “Открыть” в переменной filename будект строка с путем к файлу, а дальше скармилвайте строку куда хотите.
Agriel
у меня вопрос как обработать это с pandas?
чет мне кажеться что вы забегаете вперд себя
Agriel
PEHDOM
filename = QtGui.QFileDialog.getOpenFileName()после нажатия ф диалоге “Открыть” в переменной filename будект строка с путем к файлу, а дальше скармилвайте строку куда хотите.
Спасибо, попробую. Просто начал изучение программирования сразу с задачи поставленной.
Agriel
PEHDOM
filename = QtGui.QFileDialog.getOpenFileName()после нажатия ф диалоге “Открыть” в переменной filename будект строка с путем к файлу, а дальше скармилвайте строку куда хотите.
Делаю так:
import sys
import pandas as pd
import sklearn.linear_model as lm
from PyQt5.QtWidgets import QWidget, QLabel, QApplication, QPushButton, QFileDialog

global a, b

class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
lbl1 = QLabel('Полученное уравнение регрессии имеет вид:' ,self)
lbl1.move(15, 10)
self.lbl2 = QLabel(self)
self.lbl2.move(250, 10)
self.lbl3 = QLabel('Свободный член в модели:', self)
self.lbl3.move(15, 30)
self.lbl4 = QLabel(self)
self.lbl4.move(160, 30)
btn1 = QPushButton('Button 1', self)
btn1.move(100, 100)
btn1.clicked.connect(self.buttonClicked)
btn2 = QPushButton('Button 1', self)
btn2.move(200, 200)
btn2.clicked.connect(self.button2Clicked)
self.setGeometry(250, 250, 640, 480)
self.setWindowTitle('Cor')
#self.showDialog()
self.show()

def buttonClicked(self):
self.lbl2.setText('Y = ‘ + str(a) + ’ * X + ‘ + str(b))
self.lbl2.adjustSize()
self.lbl4.setText(’b = ‘ + str(b))
self.lbl4.adjustSize()

def button2Clicked(self):
fname = QFileDialog.getOpenFileName(self, ’Open file', ‘/Users/Антон’)
if fname:
df = pd.read_csv(fname)
x = df.iloc
y = df.iloc
skm = lm.LinearRegression()
skm.fit(x, y)
b = skm.intercept_
a = skm.coef_

if __name__ == ‘__main__’:
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

После выбора файла, при нажатии btn1 приложение крашится
PEHDOM
Agriel
После выбора файла, при нажатии btn1 приложение крашится
А в чем вы вообще пишете? Обычно если ексепшин какой так обычно пишет где и какой в консоли.
Заключайте код в теги code python /code, чтобы были отсутпы видны.
Что видно невооруженным взглядом “global a, b” (или даже nonlocal) нужно писать в button2Clicked, а вообще лучше обойтись без ‘global’ он там лишний. просто замените a на self.a , b на self.b везде
немного про global для саморазвития
https://pythonworld.ru/osnovy/faq.html
Agriel
PEHDOM
эклипс. вечер сижу не могу поправить
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB