import os
import tkinter as tk
from tkinter import *
#for name in os.listdir("C://"):
# print (name)
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.toolbar()
self.Text()
def toolbar(self): # Добавляю в тулбар кнопки
toolbar = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
toolbar.pack(side=tk.TOP, fill=tk.X)
btn_new = tk.Button(toolbar, text='Создать файл', bd = 4)
btn_new.pack(side=tk.LEFT)
btn_save = tk.Button(toolbar, text='Сохранить файл', bd = 4, command=self.saveTextField)# Вот здесь вы вызываете функцию но не передаёте параметры saveTextField(self, textField << Вот) да и по моему пр таком вызове и нельзя передать параметры
btn_save.pack(side=tk.LEFT)
def saveTextField(self):
with open("example.txt", "w") as file:
file.write(self.textField.get(1.0, END))
def Text(self):
self.textField = Text(width=200, height=100, fg='black', wrap=WORD) # что сделать object доступным во всём классе используйте self я вот это self.textField использую в это функции saveTextField
self.textField.pack()
if __name__ == "__main__": # Если окно запущенно, то создает наше главное окно
root = tk.Tk()
app = Main(root)
app.pack()
root.title("Text 0.01v")
root.geometry("800x600+450+100")
root.resizable(True, True)
root.mainloop()
from io import BytesIO
import requests
from PyQt5.QtWidgets import (QApplication, QMainWindow, QGridLayout,
QWidget, QTableWidget, QTableWidgetItem)
from PyQt5.QtGui import QPixmap, QIcon
from PyQt5.QtCore import QSize, Qt, QThread, pyqtSignal, pyqtSlot
class UploadImage(QThread):
data = pyqtSignal(bytes)
def __init__(self):
super().__init__()
@pyqtSlot()
def run(self):
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.2)\
AppleWebKit/537.36 (KHTML, like Gecko)\
Chrome/63.0.3239.84 Safari/537.36',
'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'}
url = "https://cdn.programiz.com/sites/tutorial2program/files/hello-world.jpg"
try:
content = requests.get(url, headers=headers).content
self.data.emit(content)
except requests.exceptions.ConnectionError as error:
print(error)
class MainWindow(QMainWindow):
# Переопределяем конструктор класса
def __init__(self):
# Обязательно нужно вызвать метод супер класса
super().__init__()
self.pixmap = QPixmap()
self.setMinimumSize(QSize(800, 300)) # Устанавливаем размеры
self.setWindowTitle("Загрузка изображения из интернета")# Устанавливаем заголовок окна
central_widget = QWidget(self) # Создаём центральный виджет
self.setCentralWidget(central_widget) # Устанавливаем центральный виджет
grid_layout = QGridLayout() # Создаём QGridLayout
central_widget.setLayout(grid_layout) # Устанавливаем данное размещение в центральный виджет
self.table = QTableWidget(self) # Создаём таблицу
self.table.setColumnCount(1)
self.table.setRowCount(1) # и одну строку в таблице
# Устанавливаем заголовки таблицы
self.table.setHorizontalHeaderLabels(["Изображение"])
# Устанавливаем всплывающие подсказки на заголовки
self.table.horizontalHeaderItem(0)
self.table.horizontalHeaderItem(0).setToolTip("Шутка")
# Устанавливаем выравнивание на заголовки
self.table.horizontalHeaderItem(0).setTextAlignment(Qt.AlignLeft)
# делаем ресайз колонок по содержимому
self.table.resizeColumnsToContents()
grid_layout.addWidget(self.table, 0, 0) # Добавляем таблицу в сетку
self.upload_image = UploadImage()
self.upload_image.start()
self.upload_image.data.connect(self.show_image)
def show_image(self, image_bytes):
self.bytes_io = BytesIO(image_bytes)
self.pixmap.loadFromData(self.bytes_io.getvalue())
image = QTableWidgetItem()
image.setData(Qt.DecorationRole, self.pixmap)
image.setFlags(image.flags() ^ Qt.ItemIsEditable)
self.table.setItem(0, 0, image)
self.table.resizeColumnsToContents()
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
mw = MainWindow()
mw.show()
sys.exit(app.exec())
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Example')
self.setWindowFlags(Qt.WindowMaximizeButtonHint)
if __name__ == '__main__':
app = QApplication(sys.argv)
example = Example()
example.show()
sys.exit(app.exec_())
import sys
from PyQt5.QtWidgets import *
class Example(QWidget):
def __init__(self):
super().__init__()
self.resize(180, 40)
self.setWindowTitle("Пример")
self.button = QPushButton('изменить надпись нижней кнопки', self)
self.button.clicked.connect(self.function)
self.button_2 = QPushButton('Hello user!', self)
self.button_2.setGeometry(0, 20, 180, 25)
def function(self):
self.button_2.setText("Привет пользователь!")
def main():
app = QApplication(sys.argv)
window = Example()
window.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import Qt
class PopupMenu(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle('Пример всплывающего меню')
self.resize(300, 300)
self.label = QLabel(self)
self.label.setText("МЕНЮ")
self.popup_menu = QLabel(self)
self.popup_menu.resize(180, 100)
self.popup_menu.setText("Hello PyQt5!")
self.popup_menu.setStyleSheet("border: 2px solid grey; font: 75 italic 16pt Verdana;\
text-align: center; border-radius: 10px;\
background-color: lightblue; width: 10px;")
self.popup_menu.hide()
hbox = QHBoxLayout()
hbox.setAlignment(Qt.AlignCenter)
hbox.addStretch(2)
hbox.addWidget(self.label)
hbox.addWidget(self.popup_menu)
self.label.installEventFilter(self)
def eventFilter(self, obj, event):
# Если мышь над виджетом
if event.type() == 10:
self.popup_menu.show()
# Если мышь покинула область виджета
elif event.type() == 11:
pass
return False
if __name__ == '__main__':
app = QApplication(sys.argv)
window = PopupMenu()
window.show()
sys.exit(app.exec_())
try:
filename = input("Введите имя файла: ")
file_object = open(filename + ".txt", 'r')
all_the_text = file_object.read( ).split('\n')
print (all_the_text)
num_words = 0
with open(filename + ".txt",'r') as f:
for line in f:
words = line.split()
num_words += len(words)
print("Число слов:")
print(num_words)
except IOError as error:
print(error)
print("Файл не найден.")
<li><a href="/info/partners">\xd0\x9f\xd0\xb0\xd1\x80\xd1\x82\xd0\xbd\xd0\xb5\xd1\x80\xd0\xb0\xd0\xbc</a></li>\n <li><a href="/info/agreement">\xd0\x9f\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xb7\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd0\xb5\xd0\xbb\xd1\x8c\xd1\x81\xd0\xba\xd0\xbe\xd0\xb5 \xd1\x81\xd0\xbe\xd0\xb3\xd0\xbb\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5</a></li>
b = b"\xd0\x9f\xd0\xb0\xd1\x80\xd1\x82\xd0\xbd\xd0\xb5\xd1\x80\xd0\xb0\xd0\xbc \xd0\x9f\xd0\xbe\xd0\xbb\xd1\x8c\xd0\xb7\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd0\xb5\xd0\xbb\xd1\x8c\xd1\x81\xd0\xba\xd0\xbe\xd0\xb5 \xd1\x81\xd0\xbe\xd0\xb3\xd0\xbb\xd0\xb0\xd1\x88\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5"
b.decode("utf-8") # -> 'Партнерам Пользовательское соглашение'
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class Example(QMainWindow):
send = pyqtSignal(tuple)
def __init__(self):
super().__init__()
self.initUI()
@pyqtSlot()
def initUI(self):
self.setWindowTitle("Пример")
self.setGeometry(300, 300, 250, 100)
self.line_edit = QLineEdit(self)
self.line_edit.setGeometry(0, 0, 250, 33)
self.line_edit_2 = QLineEdit(self)
self.line_edit_2.setGeometry(0, 33, 250, 33)
self.button = QPushButton('Запуск', self)
self.button.clicked.connect(self.start)
self.button.setGeometry(0, 66, 250, 34)
self.send.connect(self.print)
def start(self):
# print("LineEdit get text:", self.line_edit.text())
# print("LineEdit2 get text:", self.line_edit_2.text())
str_tuple = (self.line_edit.text(), self.line_edit_2.text())
self.send.emit(str_tuple)
def print(self, data):
print(data)
if __name__ == '__main__':
application = QApplication(sys.argv)
window = Example()
window.show()
sys.exit(application.exec_())