简介
进行按钮进行界面的跳转,我这里面我介绍两种,一种是没有使用qtdesigner的代码,另一种是使用qtdesigner的代码
代码1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import sys
from pyqt5.qtwidgets import qmainwindow, qpushbutton, qapplication
class first(qmainwindow):
def __init__( self ):
super ().__init__()
self .initui()
def initui( self ):
self .btn = qpushbutton( "button" , self )
self .btn.move( 30 , 50 )
self .setgeometry( 300 , 300 , 500 , 500 )
self .setwindowtitle( 'event sender' )
self .show()
class second(qmainwindow):
def __init__( self ):
super ().__init__()
self .initui()
def initui( self ):
self .setgeometry( 300 , 300 , 290 , 150 )
self .setwindowtitle( 'get sender' )
if __name__ = = '__main__' :
app = qapplication(sys.argv)
a = first()
b = second()
a.show()
a.btn.clicked.connect(b.show)
sys.exit(app.exec_())
|
代码2
下面的代码使用了qtdesigner的代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
from pyqt5 import qtcore, qtgui, qtwidgets
import sys
from pyqt5.qtwidgets import qapplication, qmainwindow, qwidget, qlabel,\
qpushbutton, qlineedit, qmenubar, qstatusbar
from pyqt5.qtcore import *
class firstwindow(qwidget):
def __init__( self , parent = none):
# super这个用法是调用父类的构造函数
# parent=none表示默认没有父widget,如果指定父亲widget,则调用之
super (firstwindow, self ).__init__(parent)
self .setgeometry( 500 , 500 , 500 , 500 )
self .setwindowtitle( '显示' )
self .btn = qpushbutton( self )
self .btn.settext( '标定' )
self .btn.move( 150 , 50 )
#下面的一部分是qtdesigner的代码
class ui_mainwindow( object ):
def setupui( self , mainwindow):
mainwindow.setobjectname( "mainwindow" )
mainwindow.resize( 624 , 479 )
self .centralwidget = qtwidgets.qwidget(mainwindow)
self .centralwidget.setobjectname( "centralwidget" )
self .label = qtwidgets.qlabel( self .centralwidget)
self .label.setgeometry(qtcore.qrect( 190 , 130 , 51 , 31 ))
self .label.setobjectname( "label" )
self .pushbutton = qtwidgets.qpushbutton( self .centralwidget)
self .pushbutton.setgeometry(qtcore.qrect( 330 , 260 , 75 , 23 ))
self .pushbutton.setobjectname( "pushbutton" )
self .lineedit = qtwidgets.qlineedit( self .centralwidget)
self .lineedit.setgeometry(qtcore.qrect( 280 , 130 , 151 , 21 ))
self .lineedit.setobjectname( "lineedit" )
self .label_2 = qtwidgets.qlabel( self .centralwidget)
self .label_2.setgeometry(qtcore.qrect( 190 , 180 , 51 , 31 ))
self .label_2.setobjectname( "label_2" )
self .lineedit_2 = qtwidgets.qlineedit( self .centralwidget)
self .lineedit_2.setgeometry(qtcore.qrect( 280 , 190 , 151 , 21 ))
self .lineedit_2.setobjectname( "lineedit_2" )
self .pushbutton_2 = qtwidgets.qpushbutton( self .centralwidget)
self .pushbutton_2.setgeometry(qtcore.qrect( 200 , 260 , 75 , 23 ))
self .pushbutton_2.setobjectname( "pushbutton_2" )
mainwindow.setcentralwidget( self .centralwidget)
self .menubar = qtwidgets.qmenubar(mainwindow)
self .menubar.setgeometry(qtcore.qrect( 0 , 0 , 624 , 23 ))
self .menubar.setobjectname( "menubar" )
mainwindow.setmenubar( self .menubar)
self .statusbar = qtwidgets.qstatusbar(mainwindow)
self .statusbar.setobjectname( "statusbar" )
mainwindow.setstatusbar( self .statusbar)
self .retranslateui(mainwindow)
qtcore.qmetaobject.connectslotsbyname(mainwindow)
def retranslateui( self , mainwindow):
_translate = qtcore.qcoreapplication.translate
mainwindow.setwindowtitle(_translate( "mainwindow" , "mainwindow" ))
self .label.settext(_translate( "mainwindow" , " 长" ))
self .pushbutton.settext(_translate( "mainwindow" , "确定" ))
self .label_2.settext(_translate( "mainwindow" , " 宽" ))
self .pushbutton_2.settext(_translate( "mainwindow" , "取消" ))
if __name__ = = "__main__" :
app = qapplication(sys.argv)
mainwindow = qmainwindow()
ui = ui_mainwindow()
ui.setupui(mainwindow)
ex = firstwindow()
ex.btn.clicked.connect(mainwindow.show)
ex.show()
sys.exit(app.exec_())
|
以上这篇pyqt5使用按钮进行界面的跳转方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/pursuit_zhangyu/article/details/82916224