tkinter-layout 相关问题


来自回调 tkinter 的多处理

问题是当我想从回调 tkinter 触发进程“多处理”时,特别是从函数 tkinter 的绑定触发。错误从这里开始: 文件“c:\Users\Usuario\


如何在 Python/TKinter 中为按钮分配功能?

我对 TKinter 相当陌生,一直在尝试将我的普通 Python 代码转换为 GUI(TKinter 代码)!我一直在研究这段代码,到目前为止,我已经完成了基本布局,但我...


我想自动调整文本大小

导入 matplotlib.pyplot 作为 plt 将 numpy 导入为 np 将 tkinter 导入为 tk 从 tkinter 导入 * 根 = tk.Tk() root.config(bg='白色') root.state('缩放') x = np.arange(-10, 11, 1) root.title('


我应该检测选定的输入框

导入 matplotlib.pyplot 作为 plt 将 numpy 导入为 np 将 tkinter 导入为 tk 从 tkinter 导入 * 根 = tk.Tk() root.config(bg='白色') root.state('缩放') x = np.arange(-10, 11, 1) root.title('


Tkinter 开/关 While 循环

我正在尝试使用 Tkinter 在按下选项菜单中的“on”按钮时启动 while 循环,并在按下选项菜单中的“off”时停止 while 循环。那个时候...


TKinter - 文件上传按钮,更改按钮颜色

我有 TKinter 和 CustomTkinter 的代码来创建文件上传按钮: def import_file_data(): v = tk.StringVar() 全局文件数据 csv_file_path = Askopen文件名() v.设置(


有没有办法将selenium chrome(驱动程序)窗口嵌入到tkinter窗口中?

这里是初学者。我正在使用 Tkinter 来操作 Selenium。日志和其他信息也部分显示在 Tkinter 中,但当我使用它时,这两个窗口处理起来变得很麻烦。恳求...


在 Tkinter 中按下按钮后更新标签文本

我想知道如何在单击按钮后更改标签文本。例如: 从 Tkinter 导入 * 导入 tkMessageBox def onclick(): 经过 根 = Tk() root.title("班台医院") ...


tkinter Treeview背景颜色问题

我正在使用 Tkinter 和 Customtkinter 库在 python 中创建密码管理器。为了能够查看所有密码,我决定使用树视图方法,但我无法配置其背景


Python tkinter - 小部件 padx 和 pack-methods ipadx 之间有什么区别

我尝试理解小部件的 padx 和该小部件的 pack 方法的 ipadx 之间的区别。 从 tkinter 导入 * 窗口 = Tk() 按钮(窗口,文本=“aaaaaa”,padx=50).pack()


Python Tkinter 错误“pyimage2 deos 不存在”

我一直在做一个小项目,遇到了一个错误。作为 tkinter 的新手,我不知道这意味着什么。错误的详细信息和导致该错误的代码如下。 这...


运行Python代码后GUI没有显示

我正在使用 python 构建一个图像到 PDF 转换器应用程序。当我在终端中运行代码时,用户界面不会出现。这是代码: `将 tkinter 导入为 tk 从 tkinter 导入 filedialog、messageb...


关于动态取消选中复选框的 Tkinter 问题

在 Tkinter (Python) 中,当选中另一个复选框时,我尝试动态取消选中一个复选框,但行为相当不稳定。 如果选中第一个框并选中第二个框:那么...


在 tkinter python 中打开新窗口时关闭当前窗口

我使用 tkinter 在 Python 中创建了一个程序。我为两个窗口创建了两个单独的类。我通过单击一个窗口的按钮打开另一个窗口。我想要这样...


我想要一个Python中的tkinter按钮通过调整窗口大小来改变它的位置

我使用 Tkinter Python 制作了一个桌面应用程序,我对按钮的位置有问题,尤其是退出按钮,我使用“pack”,如下图所示: 我已经尝试过


使用 Tkinter after 方法调用使用 get 方法的函数不起作用

我目前正在为 Tkinter 桌面应用程序编写代码,用于测试您的打字速度。我有一个带有随机文本的文本框和一个输入小部件,用户可以在其中输入随机文本的单词。之后...


为什么NLog不每天归档

NLog 存档每天都不起作用。但它每分钟都有效 NLog版本5.0.7 这是我的配置 NLog 每天存档不起作用。但它每分钟都有效 NLog版本5.0.7 这是我的配置 <target name="Httpfile" layout="${longdate} ${uppercase:${level}} correlationId-${activityid} - ${message} ${exception:format=tostring}" xsi:type="File" fileName="${logFullName}-http-api-${shortdate}.log" archiveFileName="${logFullNameArchive}-archive-Http-api-${shortdate}-{#####}.zip" archiveEvery="Day" concurrentWrites="true" keepFileOpen="false" archiveNumbering="DateAndSequence" maxArchiveFiles="30" maxArchiveDays="7" enableArchiveFileCompression="true" /> 使用 archiveEvery="Minute" 效果很好 不支持在NLog FileTarget中混合静态和动态归档逻辑。 使用静态归档逻辑时,不应在 ${shortdate} 和 fileName="..." 中使用 archiveFileName="..."。 像enableArchiveFileCompression="true"这样的一些功能仅受静态归档逻辑支持: <target name="Httpfile" layout="${longdate} ${uppercase:${level}} correlationId-${activityid} - ${message} ${exception:format=tostring}" xsi:type="File" fileName="${logFullName}-http-api.log" archiveFileName="${logFullNameArchive}-archive-Http-api-{#####}.zip" archiveNumbering="DateAndSequence" archiveDateFormat="yyyyMMdd" archiveEvery="Day" concurrentWrites="true" keepFileOpen="false" maxArchiveFiles="30" maxArchiveDays="7" enableArchiveFileCompression="true" /> 另请参阅:https://github.com/NLog/NLog/wiki/FileTarget-Archive-Examples


将 props 传递给 nextjs 中的页面组件

我正在使用 nextjs 的 withlayout 函数为某些页面添加侧边栏。 导出类型 PageWithLayout = NextPage & { withLayout?:(页面:ReactElement)=> 我正在使用 nextjs 的 withlayout 函数为某些页面添加侧边栏。 export type PageWithLayout<P = {}, IP = P> = NextPage<P, IP> & { withLayout?: (page: ReactElement) => ReactNode; }; 这是我的使用方法: export const Interactions: PageWithLayout = () => { const [ getInteractions, { data: interactionData, fetchMore, variables, loading: isInteractionsLoading, error: isInteractionsError, }, ] = useGetInteractionsLazyQuery({ notifyOnNetworkStatusChange: true, fetchPolicy: "network-only", ssr: false, }); return ( <> <Box height={"100vh"}> </Box> </> ); }; Interactions.withLayout = (page: ReactElement) => { // how do I pass isInteractionsLoading as a prop to this component return <Layout>{page}</Layout>; }; export default Interactions; 我想要实现的是将 isInteractionsLoaded 和 isInteractionsError 作为属性传递给我的布局组件,以便我可以渲染这些状态。有没有一种方法可以实现此目的,而无需将布局组件移动到页面组件内? 创建一个包装组件的 React Context 提供程序可能是您使用的解决方案,如果您不想使用任何其他包或不想使用 redux 等更强大的工具,则可以使用。 但是在这里使用有点尴尬,具体取决于包含交互的组件树是什么样子。否则可以根据您的需要使用 _app 入口点。 示例上下文和用法 import React from 'react'; export const InteractionContext = React.createContext({ isInteractionsLoading: false, isInteractionsError: null, }); // parent component or _app if necessary const ProviderComponent = () => { return ( <InteractionContext.Provider value={{ isInteractionsLoading, isInteractionsError }}> <Interactions /> </InteractionContext.Provider> ); }; const Layout = ({ children }) => { const { isInteractionsLoading, isInteractionsError } = useContext(InteractionContext); // Now you can use isInteractionsLoading and isInteractionsError here // ... return <div>{children}</div>; };


根窗口自动填充屏幕

来自 tkinter 导入 * 根 = Tk() root.title("请显示") 根.几何(“800x800”) root.mainloop() 这段代码应该可以创建一个小的根窗口,但是它只是自动...


如何在 tkinter 画布上为该箭头设置动画?

我下面的python代码基于这里的解决方案。 将 matplotlib.pyplot 导入为 plt 从 matplotlib.backends.backend_tkagg 导入FigureCanvasTkAgg 导入 matplotlib.animation 作为动画 进口...


Tkinter 询问线程内的字符串

我正在尝试运行多线程应用程序, 每个线程在线程执行某些任务后都要求用户提供字符串输入。 simpledialog.askstring(标题,内容,父=窗口)


Tkinter Python 更新类外函数中的标签

我正在开发一个将显示大量信息的应用程序。 需要显示的信息是函数的返回值。 主屏幕/窗口是由一个类构建的,但是......


绘制越界时出现溢出错误

当我将鼠标移到我在 tkintre 中绘制的边界之外时,会出现错误 > Tkinter 回调异常 回溯(最近一次调用最后一次): 文件“c:\Users\My PC\AppData\Local\Programs\P...


如何在Python中用一个按钮链接多个脚本?

我正在Python Tkinter中制作一个程序,我有一个main.py和studio.py。 我想连接它们。main.py 是菜单,它有一个进入工作室的按钮。 所以我想从...


为什么我无法在函数内定义(并保存)Tkinter 字体?

在函数内部和脚本主体中定义字体似乎表现不同,我似乎无法弄清楚它应该如何工作。 例如,本例中的标签 e...


如何后台运行python脚本?

我正在使用 Python Tkinter 创建警报。我已经完成了 GUI 部分。现在,我希望当用户输入的日期和时间到达时闹钟自动响起。我怎样才能实现这个目标? 我...


如何在Python中使用tkinter和mysql进行更新查询?

我正在尝试制作一个图书馆管理应用程序,具有以下功能:添加书籍,删除书籍,查看书籍,搜索书籍,编辑书籍所有这些功能都在


使用 pyinstaller 在 tkinter 上出现问题

我在使用 pyinstaller 将代码转换为可执行文件时遇到问题。这是使用 tkfilebrowser 选择目录并打印它们的代码。如果你在 python 上尝试它,它运行时不会出现重大问题...


如何将Legend Matplotlib TKinter

我正在尝试在图形中创建图例,但当我使用 legend() 时它不起作用。我不知道还能做什么。我看到了很多关于它的信息,我也在做同样的事情,但它一直不起作用......


ttkcalendar 在 python pandas df 中用于 Oracle 查询中的日期范围

先生 我成功地将所有 Oracle 11gr2 数据获取到 DF,但现在我想使用 tkinter 日历 date1 和 ttkcalendar 的 date1 根据用户给定的日期范围获取数据。 这两个怎么用


MacOs Tkinter - 应用程序终止“无效参数不满足:aString!= nil”

当我通过 CLI 启动我的应用程序时,它可以正常工作 ./org_chart.app/Contents/MacOS/org_chart 但是当我通过双击启动时遇到了错误 *** 由于未捕获而终止应用程序


为什么 tkinter 几何管理器方法返回 None 而不是返回调用它们的小部件?

编辑:我已通过 cpython 的 GitHub 问题跟踪器将其作为功能改进提案提交。请参阅问题 100891。 注意:我认识到这个问题可能接近于“基于意见”......


如何使用 tkinter.bind 方法生成单个按键事件信号

我有一个简单的用户界面,它应该打印我按下的每个键。 我需要每次真正按键时生成一次信号。 我怎样才能做到这一点? 默认情况下,tkinter 生成信号一次,然后等待...


[Python - Tkinter]:按钮 1 创建一个小部件,按钮 2 需要访问它。有没有办法在不使用全局变量的情况下做到这一点?

我有 2 个按钮。 Button_step_1 需要能够创建一个输入框,而button_step_2 需要能够访问button_step_1 中的条目。 我这样设置是因为我要...


如何将 XAML(或另一个 ContentView)作为子项传递给 ContentView

我正在尝试创建一个 ContentView,并在其中将子项作为 XAML 或(另一个内容视图)传递。我怎样才能做到这一点? 例如。: 我有一种观点说 Header.xaml 我正在尝试创建一个 ContentView,并在其中将子项作为 XAML 或(另一个内容视图)传递。我怎样才能做到这一点? 例如: 我有一种观点是 Header.xaml <?xml version="1.0" encoding="utf-8" ?> <ContentView xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:strings="clr-namespace:Eurynote.Localization.Resources.en;assembly=Eurynote.Localization" x:Class="Eurynote.Core.Views.Common.EurynoteHeader"> <HorizontalStackLayout Spacing="10" VerticalOptions="Center"> <Image Source="brand_icon" WidthRequest="32" HeightRequest="30" /> <Label Text="Header" Margin="0,-3,0,0" /> </HorizontalStackLayout> </ContentView> 现在,在我的 MainPage.xaml 文件中,我可以将此视图称为 <common:Header /> 并且运行良好。 但是我如何将另一个控件传递到与子项相同的内容视图,例如按钮、标签等...或任何其他 ContentView,如下面两个示例所示。 <common:Header> <Button Text="Button" /> </common:Header> <common:Header> <common:AnotherView /> </common:Header> 我想确保只能传递单个内容,如Frame。 谢谢你!!! 首先,如果使用以下代码,ContentView的内容将被Button覆盖。 <common:Header> <Button Text="Button" /> </common:Header> 因此您无法从 xaml 中为 contentview 添加子项。但你可以在后面的代码中做到这一点。如: 在xaml中: <common:Header x:Name = "header"> 在页面的构造函数中: public partial class MainPage() { InitializeComponent(); var layout = head.Content as HorizontalStackLayout; layout.Children.Add(new Button(){ Text = "new button"}); } 您可以通过这种方式将新项目作为子项添加到内容视图中。


.NET MAUI、ios UseSafeArea 不工作 StackLayout、VerticalStackLayout 和 Grid

<?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Test.Views.Activities.ActivityMapList" xmlns:maps="clr-namespace:Microsoft.Maui.Controls.Maps;assembly=Microsoft.Maui.Controls.Maps" xmlns:sensors="clr-namespace:Microsoft.Maui.Devices.Sensors;assembly=Microsoft.Maui.Essentials" xmlns:ios="clr-namespace:Microsoft.Maui.Controls.PlatformConfiguration.iOSSpecific;assembly=Microsoft.Maui.Controls" ios:Page.UseSafeArea="False" Shell.NavBarIsVisible="False" Style="{StaticResource Key=DefaultPage}"> <ContentPage.Content> <StackLayout> <maps:Map VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand"> <x:Arguments> <MapSpan> <x:Arguments> <sensors:Location> <x:Arguments> <x:Double>36.9628066</x:Double> <x:Double>-122.0194722</x:Double> </x:Arguments> </sensors:Location> <x:Double>0.01</x:Double> <x:Double>0.01</x:Double> </x:Arguments> </MapSpan> </x:Arguments> </maps:Map> </StackLayout> </ContentPage.Content> </ContentPage> StackLayout 或 Grid 内的地图控件,iOS 的 SafeArea 为 false,如图所示。 你有什么解决办法吗? 我需要在地图上使用网格或堆栈布局 默认情况下.NET MAUI 将考虑安全区域。所以使用特定于平台的UseSafeArea就是禁用安全区域。目前,将 UseSafeArea 设置为 false 不会改变行为(尽管应该如此),这是一个错误。另请参阅 MAUI github 上的问题:https://github.com/dotnet/maui/issues/5856 您还可以设置 IgnoreSafeArea 属性来实现相同的目的。但是,它不再在 .NET 7 中工作,请参阅以下问题:https://github.com/dotnet/maui/issues/12823 要解决您的问题,您需要将 IgnoreSafeArea="True" 添加到您的 Grid 或 StackLayout 并将 ios:Page.UseSafeArea="False" 添加到您的页面。这应该不是必需的,但这是对我有用的解决方法。 有关在 iOS 上禁用安全区域的文档可以在此处找到:https://learn.microsoft.com/en-us/dotnet/maui/ios/platform-specifics/page-safe-area-layout?view=net-毛伊岛-7.0 您可以设置 Page Padding 值来实现。在OnAppearing方法中,设置页面的safeInsets,如下代码: protected override void OnAppearing() { base.OnAppearing(); DeviceSafeInsetsService d = new DeviceSafeInsetsService(); double topArea = d.GetSafeAreaTop(); double bottomArea = d.GetSafeAreaBottom(); var safeInsets = On<iOS>().SafeAreaInsets(); safeInsets.Top = -topArea; safeInsets.Bottom = -bottomArea; Padding = safeInsets; } 要获取 topArea 和 bottomArea 值,您应该编写平台代码。答案末尾附有有关此内容的更详细教程。 首先你可以在Project文件夹中生成一个新的类文件并将其更改为部分类。生成两个部分方法。 public partial class DeviceSafeInsetsService { public partial double GetSafeAreaTop(); public partial double GetSafeAreaBottom(); } 然后在iOS平台生成部分文件并实现。该文件位于 Project/Platform/iOS 文件夹中,我想提一下的是,该文件是一个部分文件,因此命名空间应与上面的文件相同。生成此文件时,请删除命名空间中的 .Platforms.iOS 后缀。 public partial class DeviceSafeInsetsService { public partial double GetSafeAreaBottom() { if (UIDevice.CurrentDevice.CheckSystemVersion(11, 0)) { UIWindow window = UIApplication.SharedApplication.Delegate.GetWindow(); var bottomPadding = window.SafeAreaInsets.Bottom; return bottomPadding; } return 0; } public partial double GetSafeAreaTop() { if (UIDevice.CurrentDevice.CheckSystemVersion(11, 0)) { UIWindow window = UIApplication.SharedApplication.Delegate.GetWindow(); var TopPadding = window.SafeAreaInsets.Top; return TopPadding; } return 0; } } 更多信息,您可以参考如何在.NET MAUI中编写特定于平台的代码和MauiPlatformCode示例代码 希望它对你有用。


在 Rails 5 中单击浏览器上的后退按钮时,带有 Select2 的表单会重复

_header.html.erb(用于表单部分) <%= form_for home_path, class: 'home', role: 'search', method: :get do |f| %> _header.html.erb(用于表单部分) <%= form_for home_path, class: 'home', role: 'search', method: :get do |f| %> <div class="form-group" style="display:inline;"> <div class="input-group input-group-md"> <%= text_field_tag :q, params[:q], placeholder: ... ,class: 'form-control hideOverflow', type: "search" %> <%= select_tag "category", options_from_collection_for_select(...),include_blank: true, class: 'form-control hideOverflow', type: "search" %> <%if logged_in? %> <%= select_tag "location", options_for_select([...], ...),class: 'form-control hideOverflow', type: "search" %> <% else %> <%= select_tag "location", options_for_select([...], ...),class: 'form-control hideOverflow', include_blank: true, type: "search" %> <% end %> <span class="input-group-addon"><%= submit_tag "Search", class: "btn-transparent"%></span> </div> </div> <% end %> JS代码 <script> $( document ).on('turbolinks:load', function() { $('select#category').select2({ width: '60%', dropdownAutoWidth : true, placeholder: "Choose a category", maximumSelectionLength: 3 }); $('select#location').select2({ width: '40%', dropdownAutoWidth : true, minimumResultsForSearch: Infinity }); }); </script> 故障或渲染问题(单击链接查看图像) 有人可以帮我解决为什么吗?另外,我的搜索表单位于标题部分文件的导航栏中。 如果我去掉脚本中的 $(...).select ,一切都会正常...我认为 select.js 有问题 在此回复: https://stackoverflow.com/a/41915129/5758027 我在自己的代码中使用了这个解决方案: $(document).on('turbolinks:before-cache', function() { // this approach corrects the select 2 to be duplicated when clicking the back button. $('.select-select2').select2('destroy'); $('.select-search-select2').select2('destroy'); } ); 和观察者: $(document).ready( ready ); //... once document ready $(document).ajaxComplete( ready ); //... once ajax is complete $(document).on('turbolinks:load', ready ); //... once a link is clicked function ready() { $(".select-search-select2").select2({ theme: "bootstrap", language: 'es', allowClear: true }); $(".select-select2").select2({ theme: "bootstrap", language: 'es', minimumResultsForSearch: Infinity, allowClear: true }); }; 总是清除缓存不是会让使用 Turbolink 变得毫无意义吗? 不如这样? $(document).on('turbolinks:before-cache', function(e) { return $('.form-control.select2').each(function() { return $(this).select2('destroy'); }); }); 我无法解决这个渲染问题(仍在等待正确的答案!),但如果有人像我一样遇到类似的问题,请尝试跳出框框思考。这是我的技巧:我在应用程序中添加了一个后退按钮。 获取完整的url路径 # get the previous url def save_previous_page session[:return_to] = request.fullpath end 仅当页面不是主页或搜索页面时才显示后退按钮 <% if session[:return_to] != request.fullpath%> <%= link_to session.delete(:return_to) || request.fullpath, class: 'back-button' do%> <i class="fa fa-arrow-circle-left" aria-hidden="true"></i> <%end%> <% end %> 同时,我仍在等待并尝试解决渲染问题... 解决了问题 只需将此代码添加到您的 .js 文件中 Turbolinks.clearCache(); 这很可能是一些资源不一致,您应该检查您的 app\views\layouts 文件夹中是否有重复声明 wither jQuery、jQuery UJS 或 Turbolinks 的文件。检查页面的所有 <script> 标签,以及是否在 layout 文件夹和内部视图中声明相同的脚本。如果情况并非如此,请检查是否有 render、yield 或 build 呼叫 简单的解决方案,不要在您不希望它运行的东西上运行 select2 构建器。 $("select#category:not(.select2-container):not(.select2-hidden-accessible)").select2(); Rails 7 更新 这里的很多东西在 Rails 7 中都不起作用,尤其是 turbolinks:before-cache 事件。您正在寻找的新事件是 turbo:before-cache 和 turbo:load,所以它看起来像这样: $(document).on("turbo:before-cache", function() { $("#select_id").select2('destroy'); }); $(document).on('turbo:load', function() { $('#select_id').select2(); });


© www.soinside.com 2019 - 2024. All rights reserved.