pyqt5如何实现chrome一样的搜索框
import sys
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl,Qt
from PyQt5.QtWidgets import QWidget, QLabel, QApplication,QMainWindow,QVBoxLayout,QHBoxLayout,QLineEdit,QPushButton,QDialog
class MyPage(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("主窗口")
self.showMaximized()
self.browser = QWebEngineView()
self.browser.load(QUrl("http://www.baidu.com"))
# 如果这里setCentralWidget且子窗口作为父窗口的子组件显示不出来
# 如果不作为子组件,则是两个窗口
self.setCentralWidget(self.browser)
def keyPressEvent(self, event):
if(QApplication.keyboardModifiers() == Qt.ControlModifier and event.key() == Qt.Key_F):
# self.searchBox = SearchBox(self) # 指定为子组件
self.searchBox = SearchBox()
self.searchBox.show()
class SearchBox(QLineEdit): # 我现在通过一个新窗口的方式去做,感觉不好
def __init__(self):
super().__init__()
self.setWindowTitle("子窗口")
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyPage()
ex.show()
sys.exit(app.exec_())
不需要样式,要怎么才能做成这样,在父窗口上的一个组件
现在实际上是2个窗口
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您好,您可以使用透明窗口 framelessbox组件,只要有图片即可。
另外,您必须找到对应位置