0

我正在创建一个简单的聊天 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)
4

2 回答 2

0

您需要实际运行该类才能使用它。

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

login = Login()

那应该实例化并执行Login该类。


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

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

这将使 PythonLogin仅在您直接从命令行运行文件时才实例化该类,并且如果您只是导入文件,则将避免实例化它。如果您想测试给定文件以确保它可以正常工作,但仍然能够导入它并在程序的其他地方重用它,这很有用。

于 2013-09-17T15:19:16.933 回答
0

最简单的方法是在开始搜索和打开属性中键入 python.exe 并复制并粘贴该位置右键单击您的 py 程序然后单击打开 whithc 和 chosse/chosse 默认并粘贴该位置并单击 python 或 python.exe

于 2013-09-17T17:59:34.287 回答