加载.py程序时不会出现窗口(Jython,初学者)

2024-06-14 10:53:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个简单的聊天GUI。下面的代码加载时没有错误,但我不知道如何使窗口显示,以便我可以实际看到它正在工作。在使用类之前,它会自动显示(例如,运行一个简单的“Hello,world!”应用程序)。我需要使用命令行吗?你知道吗

谢谢你的帮助--我是新手。你知道吗

import javax.swing as swing

import java.awt as awt

import java.awt.event.ActionEvent

import java.awt.event.ActionListener

class Login:

  def __init__(self):

    self.login = Login
    self.chatRoom = ChatRoom(self.login)

    self.loginMain = swing.JFrame("Welcome to J-Chat!")
    self.loginMain.contentPane.layout = awt.BorderLayout()
    self.loginMain.preferredSize = (300, 120)    
    self.loginMain.setLocationRelativeTo(null)
    self.loginMain.setDefaultCloseOperation(EXIT_ON_CLOSE)

    self.loginLabel = swing.JLabel("User Name: ")
    self.loginMain.contentPane.add(loginLabel)

    self.loginField = swing.JTextField(20)
    self.loginMain.contentPane.add(loginField)

    self.loginButton = swing.JButton("Login")
    self.loginMain.contentPane.add(loginButton)
    self.loginButton.actionPerformed = self.buttonClick

    self.mainWin.pack()
    self.mainWin.show()

  def buttonClick(self, event):

    self.chatRoom = ChatRoom.chatRoomMain(self.chatRoom, self.loginField.text)

Tags: importselfeventadddefasloginjava
2条回答

最简单的方法是打字python.exe在开始搜索和打开属性并复制粘贴位置时,右键单击py程序,然后单击clikc open whithc和chosse/chosse default并粘贴位置,然后单击python或python.exe你知道吗

您需要实际运行类才能使用它。你知道吗

在文件底部,尝试添加以下行:

login = Login()

应该实例化并执行Login类。你知道吗


更惯用的方法是将实例化包装在if块中:

if __name__ == '__main__':
    login = Login()

这将使Python仅在您直接从命令行运行文件时才实例化Login类,并且如果您只是简单地导入文件,将避免实例化它。如果您想测试一个给定的文件以确保它工作,但仍然能够导入它并在程序中的其他地方重用它,这是很有用的。你知道吗

相关问题 更多 >