Bir meraktır ya içinizi kaplayan benim de merakım bu asistanlar. Çünkü kompleksler. Kompleks yapılar benim ilgimi çekmekte. Neyse lafı uzatmayalım. Projemin ara yüzlü olması gerektiğini söyleyen @throwaway1 a ardından bu projede benden çok hatta bilgi olarak daha çok yardımı dokunan @DrShahinstein e teşekkürlerimi iletirim. Ayrıca bana bunun gibi şeyler yazabilmeyi öğreten hatalarıma çözüm bulan YazBel Ailesine teşşekkür ederim.
Biliyorum bu biraz resmi oldu ama ilk defa güzel bir şey yaptım gerçi her ne kadar göreceli olsa da.
Ana Kodlar
import datetime
import webbrowser
from PyQt5.QtCore import *
from PyQt5.QtWidgets import*
from ses_tasarım import Ui_MainWindow
class a(QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.label_1.setText("Ne Yapmak İstersiniz\nFonksiyonlar(Arama,\nMüzik,Saat,Lig,Hava,Kapat,Takvim\nÇeviri,Hesap Makinesi,Youtube,Wikipedia)")
self.label_2.setText("Fonksiyonlar \n(Arama,Müzik,Saat,Lig,Hava.Kapat,\nTakvim,Çeviri,Hesap Makinesi,Youtube,Wikipedia)")
self.lineEdit_1.textEdited.connect(self.fonksiyon)
self.lineEdit_1.setText("")
self.lineEdit_2.hide()
def arama_fonksiyonu(self):
if self.text =="arama":
self.text2 = self.lineEdit_2.text().lower()
url = "https://www.google.com/search?q=" + self.text2
webbrowser.get().open(url)
def music_fonksiyonu(self):
if self.text =="müzik":
self.text2 = self.lineEdit_2.text().lower()
if self.text2 =="spotify":
webbrowser.open("https://www.spotify.com/tr")
elif self.text2 =="youtube müzik":
webbrowser.open("https://music.youtube.com")
def hava_fonksiyonu(self):
if self.text =="hava":
self.text2 = self.lineEdit_2.text().lower()
url_a = "https://www.mgm.gov.tr/tahmin/il-ve-ilceler.aspx?il=" + self.text2
webbrowser.get().open(url_a)
def youtube_fonksiyonu(self):
if self.text=="youtube":
self.text2 = self.lineEdit_2.text().lower()
url_4 = "https://www.youtube.com/results?search_query=" + self.text2
webbrowser.get().open(url_4)
def wikipedia_fonksiyonu(self):
if self.text=="wikipedia":
self.text2 = self.lineEdit_2.text().lower()
url_1 = "https://tr.wikipedia.org/w/index.php?search={}&title=%C3%96zel%3AAra&go=Git".format(self.text2)
webbrowser.get().open(url_1)
def fonksiyon(self):
self.text = self.lineEdit_1.text().lower()
if self.text =="arama":
self.label_1.setText("Ne Aramak İstersin")
self.lineEdit_2.show()
self.lineEdit_2.editingFinished.connect(self.arama_fonksiyonu)
elif self.text =="müzik":
self.lineEdit_2.show()
self.label_1.setText("Spotify mı Youtube Müzik mi")
self.lineEdit_2.editingFinished.connect(self.music_fonksiyonu)
elif self.text =="saat":
self.lineEdit_2.hide()
an = datetime.datetime.now()
tarih = datetime.datetime.ctime(an)
self.label_1.setText(tarih)
elif self.text =="lig":
self.lineEdit_2.hide()
webbrowser.open("https://www.tff.org/default.aspx?pageID=198")
elif self.text =="hava":
self.label_1.setText("Hangi İlde Bulunmaktasınız: ")
self.lineEdit_2.show()
self.lineEdit_2.editingFinished.connect(self.hava_fonksiyonu)
elif self.text=="kapat":
self.lineEdit_2.hide()
quit()
elif self.text=="takvim":
self.lineEdit_2.hide()
webbrowser.open("http://takvim.ufgu.com/")
elif self.text=="çeviri":
self.lineEdit_2.hide()
webbrowser.open("https://translate.google.com")
elif self.text=="hesap makinesi":
self.lineEdit_2.hide()
webbrowser.open("https://www.google.com/search?q=hesap+makinesi&oq=hesap+makinesi&aqs=chrome..69i57j35i39j0j0i433j0l3j5.2488j0j7&sourceid=chrome&ie=UTF-8")
elif self.text=="youtube":
self.label_1.setText("Ne Arayacaksınız")
self.lineEdit_2.show()
self.lineEdit_2.editingFinished.connect(self.youtube_fonksiyonu)
elif self.text=="wikipedia":
self.label_1.setText("Ne Arayacaksınız")
self.lineEdit_2.show()
self.lineEdit_2.editingFinished.connect(self.wikipedia_fonksiyonu)
else:
self.lineEdit_2.hide()
self.label_1.setText("Yanlış Değer Girdiniz..")
uygulama = QApplication([])
pencere = a()
pencere.show()
uygulama.exec_()
Tasarım Kodları
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(850, 798)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/icons/jarviss.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.Main_Frame = QtWidgets.QFrame(self.centralwidget)
self.Main_Frame.setGeometry(QtCore.QRect(-10, 0, 1011, 801))
self.Main_Frame.setStyleSheet("#Main_Frame{\n"
" background-color:rgb(100,100,100)\n"
"}")
self.Main_Frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.Main_Frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.Main_Frame.setObjectName("Main_Frame")
self.assistant_block = QtWidgets.QGroupBox(self.Main_Frame)
self.assistant_block.setGeometry(QtCore.QRect(50, 50, 681, 211))
self.assistant_block.setStyleSheet("#assistant_block {\n"
" border:3px solid;\n"
" border-radius:40px;\n"
"}")
self.assistant_block.setTitle("")
self.assistant_block.setObjectName("assistant_block")
self.label_1 = QtWidgets.QLabel(self.assistant_block)
self.label_1.setGeometry(QtCore.QRect(10, 0, 671, 201))
self.label_1.setStyleSheet("font-size:25px;\n"
"color:white;")
self.label_1.setText("")
self.label_1.setObjectName("label_1")
self.lineEdit_1 = QtWidgets.QLineEdit(self.Main_Frame)
self.lineEdit_1.setGeometry(QtCore.QRect(80, 500, 641, 141))
self.lineEdit_1.setStyleSheet("border:3px solid;\n"
"border-radius:40px;\n"
"padding-left:200px;\n"
"font-size:20px;\n"
"color:black;\n"
"\n"
"")
self.lineEdit_1.setText("")
self.lineEdit_1.setPlaceholderText("")
self.lineEdit_1.setCursorMoveStyle(QtCore.Qt.LogicalMoveStyle)
self.lineEdit_1.setClearButtonEnabled(True)
self.lineEdit_1.setObjectName("lineEdit_1")
self.label_2 = QtWidgets.QLabel(self.Main_Frame)
self.label_2.setGeometry(QtCore.QRect(50, 260, 701, 161))
self.label_2.setStyleSheet("border:3px solid;\n"
"border-radius:40px;\n"
"font-size:25px;\n"
"color:white;")
self.label_2.setText("")
self.label_2.setObjectName("label_2")
self.lineEdit_2 = QtWidgets.QLineEdit(self.Main_Frame)
self.lineEdit_2.setGeometry(QtCore.QRect(80, 640, 661, 101))
self.lineEdit_2.setStyleSheet("border:3px solid;\n"
"border-radius:40px;\n"
"font-size:16px;\n"
"color:black;\n"
"\n"
"")
self.lineEdit_2.setClearButtonEnabled(True)
self.lineEdit_2.setObjectName("lineEdit_2")
MainWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Jarvis"))
self.lineEdit_1.setWhatsThis(_translate("MainWindow", "<html><head/><body><p>A</p></body></html>"))
self.lineEdit_2.setPlaceholderText(_translate("MainWindow", "Burası Arama,Youtube,Wikpedia,Müzik ve Hava Fonksiyonuna cevap vereceğiniz kısımdır"))
import icon_rc