Задать вопрос
@andrewMus

Как создать програму на питоне (python) pyqt + telebot?

Написал вот такую программу, но она не работает, окно открывается и сразу закрывается, про телеграм бот молчу, не пойму в чём проблема?
Суть программы: мы отправляем сообщения через консоль, оно появляется в программе (в граф. интерф.) и кнопкой мы его отправляем... По отдельности работает прекрасно, но когда собираю разом то нет. Искал, но не нашёл ничего толкового...
Думал создать 2 потока, в одном pyqt, а в другом telebot и все, но не все так просто...
import threading
import telebot
from PyQt5 import QtWidgets
from myform import Ui_MainWindow
import sys

x=0
y=0

class mywindow(QtWidgets.QMainWindow):
    def __init__(self):
        super(mywindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        # подключение клик-сигнал к слоту btnClicked
        self.ui.pushButton.clicked.connect(self.btnClicked)
 
    def btnClicked(self):
        self.ui.label.setText("Вы нажали на кнопку!")
        self.ui.label.adjustSize()
        send()
        


def loop():
    while True:
        global x
        x = input()
        send()
def mainin():
    app = QtWidgets.QApplication([])
    application = mywindow()
    application.show()


bot = telebot.TeleBot('**********************************************')

@bot.message_handler(commands=['start'])
def start_message(message):
    bot.send_message(message.chat.id, 'Привет, ты написал мне /start')

@bot.message_handler(content_types=['text'])
def send_text(message):
    #y=message.text.lower()
    pass
    # ответы на вопросы...
def send():
    bot.send_message("*********", x)
    #pass

t = threading.Thread(target=loop, args=())
t.start()
d = threading.Thread(target=mainin, args=())
d.start()

bot.polling()
  • Вопрос задан
  • 172 просмотра
Подписаться 2 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

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