Arkadaşlar dün bir soru sormuştum ama öğrendiğime göre PyQt5 async desteklemiyor. Ben de başka bir yol düşündüm. Bunun için arayüzlü olan programdaki değişkenlerimi direkt olarak diğer programımda kullanmak istiyorum. Bu sayede arayüz üstünden os dosyası ile dosyayı çalıştırabilirim. Fakat buradaki değişkenleri nasıl dışarı aktarıp diğer dosyadan erişebileceğimi çözemedim. Yardımcı olursanız sevinirim.
Kodların tamamını aşağıya bırakıyorum. Arayüzlü olan programdan token,nick,message ve channel kısımlarına diğer programdan erişmek istiyorum.
from lib2to3.pgen2 import token
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import *
from designer import Ui_MainWindow
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QMessageBox, QShortcut, QFileDialog
from selenium import webdriver
import os
from PyQt5.QtGui import QKeySequence
from PyQt5.QtWidgets import QMessageBox
from os import listdir
from os.path import isfile, join
from unipath import Path
import pytmi
import asyncio
from asyncqt import QEventLoop, QThreadExecutor
from asyncqt import QEventLoop
class MyApp(QtWidgets.QMainWindow):
def __init__(self):
super(MyApp, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.token = token
self.ui.btn_User.clicked.connect(self.UserYukle)
self.ui.btn_Oauth.clicked.connect(self.OuathYukle)
self.ui.btn_Yorum.clicked.connect(self.YorumYukle)
self.ui.btn_YorumAttir.clicked.connect(self.YorumAttirCalistir)
def UserYukle(self):
os.chdir("Data")
os.chdir("Kullanıcılar")
dosya = open("User.txt", "r", encoding="UTF8")
for i in dosya:
i = i[:-1]
self.ui.ls_User.addItem(i)
OuthSayi = self.ui.ls_Ouath.count()
self.ui.lbl_UserNumber.setText("Ouath Sayısı: "+str(OuthSayi))
os.chdir("..")
os.chdir("..")
def OuathYukle(self):
os.chdir("Data")
os.chdir("Kullanıcılar")
dosya = open("Oauth.txt", "r", encoding="UTF8")
for i in dosya:
i = i[:-1]
self.ui.ls_Ouath.addItem(i)
OuthSayi = self.ui.ls_Ouath.count()
self.ui.lbl_OuathNumber.setText("Ouath Sayısı: "+str(OuthSayi))
os.chdir("..")
os.chdir("..")
return OuthSayi
def YorumYukle(self):
if self.ui.comboBox.currentIndex() == 0:
os.chdir("Data")
os.chdir("Chat")
os.chdir("Valorant Chat")
dosya = open("Valorant.txt", "r", encoding="UTF8")
for i in dosya:
i = i[:-1]
self.ui.ls_Yorumlar.addItem(i)
print(i)
OuthSayi = self.ui.ls_Yorumlar.count()
self.ui.lbl_YorumNumber.setText("Yorum Sayısı: "+str(OuthSayi))
os.chdir("..")
os.chdir("..")
os.chdir("..")
def YorumAttirCalistir(self):
os.chdir("Data")
os.chdir("Kullanıcılar")
listToken = []
listNick = []
dosyaOuath = open("Oauth.txt", "r", encoding="UTF8")
for i in dosyaOuath:
i = i[:-1]
listToken.append(i)
newListToken = listToken
dosyaNick = open("User.txt", "r", encoding="UTF8")
for i in dosyaNick:
i = i[:-1]
listNick.append(i)
newListNick = listNick
os.chdir("..")
os.chdir("..")
os.chdir("Data")
os.chdir("Chat")
os.chdir("Valorant Chat")
messagesList = []
dosyaComment = open("Valorant.txt", "r", encoding="UTF8")
for i in dosyaComment:
i = i[:-1]
messagesList.append(i)
newListMessages = messagesList
channel = "sexyshopitrasgressivi"
token = newListToken
nick = newListNick
yorum = newListMessages
os.chdir("..")
os.chdir("..")
os.chdir("..")
def app():
app = QtWidgets.QApplication(sys.argv)
app.setStyle('Fusion')
win = MyApp()
win.show()
sys.exit(app.exec_())
app()
Konsol uygulamam:
import asyncio
import pytmi
from asyncqt import QEventLoop, asyncSlot
from bot import MyApp
listToken = ["AOUTH VAR BURADA"]
listNick = ["ogunsan"]
channel = "shawncutstheh"
messagesList = ["Hello"]
for i in range(0,1):
async def main() -> None:
# nick = input("Insert your Twitch nickname: ").lstrip()
# token = input("Insert your Twitch OAuth token: ").lstrip()
# channel = input("Insert the channel to join: ").lstrip()
client = pytmi.TmiClient()
await client.login_oauth(listToken[i], listNick[i])
await client.join(channel)
await client.send_privmsg(messagesList[i])
await client.part(channel)
await client.logout()
if __name__ == "__main__":
try:
loop = asyncio.new_event_loop()
loop.run_until_complete(main())
except:
print("Something went wrong.")