python - 【:-D Tkinter 中 withdraw的正确使用姿势
伊谢尔伦
伊谢尔伦 2017-04-17 17:33:00
0
1
1068

如何实现点击button之后 显示一个新的窗口并且使button那个窗口直接消失
先贴上代码

    #coding:utf-8
    import Tkinter as tk
    from Tkinter import *
    import tkMessageBox
  
   
    root = tk.Tk()
    root.title('Test')
    e = StringVar()
  
  
    def callback():
         #tkMessageBox.showinfo('title','hello world')
          entry = Entry(root,textvariable = e)
          e.set('请输入')
          entry.pack()
 
  
    def bnt():
          Button(root,text = '确认使用',fg='red',bd = 2,width =28,
          command = callback).pack()
          root.withdraw()
    bnt()
    root.mainloop()
    

但比较蛋疼的是。。用了withdraw之后button窗口就直接匿了。。。点都点不了

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

membalas semua(1)
迷茫

Sama seperti shomy, saya jarang menggunakan Tkinter Saya menulis versi PyQt4 Anda boleh mencubanya tanpa sebarang masalah dalam ujian saya sendiri

# coding:utf-8

from PyQt4.QtGui import *

# 点击后需要显示的窗口
class Window(QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)
        self.resize(400, 200)
        self.setWindowTitle("I am the new Window")

    def handleTrigger(self):
        # 如果当前为隐藏状态,则显示
        if not self.isVisible():
            self.show()

# 按钮
class Btn(QToolButton):

    def __init__(self, parent=None):
        super(Btn, self).__init__(parent)
        self.resize(300, 100)

    def handleClick(self):
        # 如果当前为显示状态,则隐藏
        if self.isVisible():
            self.hide()


if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    b = Btn()
    w = Window()
    # 窗口初始化为隐藏
    w.hide()
    # 点击时,触发新窗口的handleTrigger事件
    b.clicked.connect(w.handleTrigger)
    # 点击时,触发Button自己的handleClick事件
    b.clicked.connect(b.handleClick)
    b.show()
    app.exec_()
    

PS: Jika tiada keperluan khas, adalah disyorkan untuk menggunakan PyQt4/PyQt5 untuk pembangunan Sebab:
1) Dengan bantuan perpustakaan kelas kuat Qt, PyQt boleh melakukan banyak perkara, seperti lukisan grafik, Penghuraian XML, dan pengaturcaraan rangkaian, membaca dan menulis pangkalan data, dsb. Dengan kata lain, PyQt bukan sahaja perpustakaan GUI, tetapi juga termasuk bahagian bukan GUI.
2) Dengan bantuan Qt Designer, anda boleh menyeret dan melepaskan bahagian antara muka grafik, yang sangat cekap.
3) Sokongan komuniti yang kuat Contohnya, terdapat IDE Python yang dibangunkan berdasarkan PyQt Ini lebih popular dalam komuniti sumber terbuka daripada Tkinter pada masa ini.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan