簡體   English   中英

PyQt5 接口啟動后立即關閉

[英]PyQt5 interface immediately closes after launch

我正在嘗試為我的市場程序創建一個界面,其中包含一個刷新按鈕。 問題是 window 在打開后幾乎立即關閉。 我檢查了一些解決方案,但我無能為力,因為我不確定問題是關於按鈕還是 class 系統,因為我沒有使用這些類的經驗。

import sys
import requests
from bs4 import BeautifulSoup
from PyQt5.QtWidgets import QApplication
from PyQt5 import QtWidgets,QtGui,QtCore

class Pencere(QtWidgets.QWidget):

    def __init__(self):

        super().__init__()

        self.init_ui()
    
    
    def  init_ui(self):

        app = QtWidgets.QApplication(sys.argv)

        window = QtWidgets.QWidget()
        window.setWindowTitle("Markets")
        
        #window.setStyleSheet("background-color: white;")
        
        window.setGeometry(670,300,400,430)
        
        ####################################################    VERİLERİ ALMA
        
        self.url = "https://www.doviz.com//"

        self.response = requests.get(self.url)

        self.html_content = (self.response).content

        self.soup = BeautifulSoup((self.html_content),"html.parser")

        self.titles1 = self.soup.find("span",{"data-socket-key":"USD"})
        self.titles2 = self.soup.find("span",{"data-socket-key":"EUR"})
        self.titles3 = self.soup.find("span",{"data-socket-key":"bitcoin"})
        self.titles4 = self.soup.find("span",{"data-socket-key":"XU100"})    
        self.titles1 = self.titles1.text
        self.titles2 = self.titles2.text
        self.titles3 = self.titles3.text
        self.titles4 = self.titles4.text
        
        ####################################################    RESİMLERİ KOYMA
        
        self.image1 = QtWidgets.QLabel(window) 
        self.image1.setPixmap(QtGui.QPixmap("jdollar.png"))
        self.image1.move(50,50)
        
        self.image2 = QtWidgets.QLabel(window) 
        self.image2.setPixmap(QtGui.QPixmap("jeuro.png"))
        self.image2.move(50,120)
        
        self.image3 = QtWidgets.QLabel(window) 
        self.image3.setPixmap(QtGui.QPixmap("jbtc.png"))
        self.image3.move(50,190)
        
        self.image4 = QtWidgets.QLabel(window) 
        self.image4.setPixmap(QtGui.QPixmap("jbist.png"))
        self.image4.move(58,260)
        
        ####################################################    SAYILARI YAZDIRMA
        
        self.text1 = QtWidgets.QLabel(window)
        self.text1.setText(self.titles1)    
        self.text1.move(125,68)

        self.text2 = QtWidgets.QLabel(window)
        self.text2.setText(self.titles2)    
        self.text2.move(125,138)

        self.text3 = QtWidgets.QLabel(window)
        self.text3.setText(self.titles3)    
        self.text3.move(125,278)
        
        self.text4 = QtWidgets.QLabel(window)
        self.text4.setText(self.titles4)    
        self.text4.move(125,208)

        ####################################################    BUTONLARI OLUŞTURMA

        self.button1 = QtWidgets.QPushButton(window)
        self.button1.setText("Refresh")
        self.button1.move(150,330)
        self.button1.clicked.connect(self.__init__)
        
        self.button2 = QtWidgets.QPushButton(window)
        self.button2.setText("Exit")
        self.button2.move(150,360)
        
        ####################################################    EKRANI AÇMA
        
        self.show()
    
    def stats(self):
        
        self.url = "https://www.doviz.com//"

        self.response = requests.get(self.url)

        self.html_content = (self.response).content

        self.soup = BeautifulSoup((self.html_content),"html.parser")

        self.titles1 = self.soup.find("span",{"data-socket-key":"USD"})
        self.titles2 = self.soup.find("span",{"data-socket-key":"EUR"})
        self.titles3 = self.soup.find("span",{"data-socket-key":"bitcoin"})
        self.titles4 = self.soup.find("span",{"data-socket-key":"XU100"})    
        self.titles1 = self.titles1.text
        self.titles2 = self.titles2.text
        self.titles3 = self.titles3.text
        self.titles4 = self.titles4.text


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = Pencere()
    window.show()
    app.exec_()

你應該刪除app = QtWidgets.QApplication(sys.argv)部分

def  init_ui(self):

        app = QtWidgets.QApplication(sys.argv)

您正在使用兩個 QApplications。 雖然你只能使用一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM