comboBox的项为'平时成绩', string per = comboBox2.Text; if (per == '平时成绩')会报错字符字面量的字符太多,该如何解决这个问题
时间: 2024-01-29 22:04:21 浏览: 45
在 C# 中,单引号 `'` 表示字符字面量,只能包含一个字符,而双引号 `"` 则表示字符串字面量,可以包含多个字符。因此,你需要将 `'平时成绩'` 改为 `"平时成绩"`,即用双引号包含字符串字面量。正确的代码应该是:
```
string per = comboBox2.Text;
if (per == "平时成绩")
{
// do something
}
```
这样就可以避免字符字面量的错误了。
相关问题
# 创建标签和下拉框 ri = datetime.datetime.now().strftime('%Y/%m/%d') values = [ri] self.label1 = tk.Label(self.panel_right, text="點檢日期") self.label1.pack(side=tk.TOP, padx=5, pady=5) self.combobox1 = tk.ttk.Combobox(self.panel_right, values=[values]) self.combobox1.pack(side=tk.TOP, padx=5, pady=5) self.combobox1.current(0) ri1 = datetime.datetime.now().strftime('%H:%M:%S') values3 = [ri1] self.label3 = tk.Label(self.panel_right, text="點檢人") self.label3.pack(side=tk.TOP, padx=5, pady=5) self.combobox3 = tk.ttk.Combobox(self.panel_right, values=values3) self.combobox3.pack(side=tk.TOP, padx=5, pady=5) self.combobox3.current(0) values=["唐彪", "汾陽", "劉永剛"] self.label2 = tk.Label(self.panel_right, text="點檢人") self.label2.pack(side=tk.TOP, padx=5, pady=5) self.combobox2 = tk.ttk.Combobox(self.panel_right, values=values) self.combobox2.pack(side=tk.TOP, padx=5, pady=5) self.combobox2.current(0)修改為橫著放
你可以使用 `tkinter` 中的 `grid()` 函数来实现横向排列。修改后的代码如下:
```
ri = datetime.datetime.now().strftime('%Y/%m/%d')
values = [ri]
self.label1 = tk.Label(self.panel_right, text="點檢日期")
self.label1.grid(row=0, column=0, padx=5, pady=5)
self.combobox1 = tk.ttk.Combobox(self.panel_right, values=[values])
self.combobox1.grid(row=0, column=1, padx=5, pady=5)
self.combobox1.current(0)
ri1 = datetime.datetime.now().strftime('%H:%M:%S')
values3 = [ri1]
self.label3 = tk.Label(self.panel_right, text="點檢人")
self.label3.grid(row=1, column=0, padx=5, pady=5)
self.combobox3 = tk.ttk.Combobox(self.panel_right, values=values3)
self.combobox3.grid(row=1, column=1, padx=5, pady=5)
self.combobox3.current(0)
values=["唐彪", "汾陽", "劉永剛"]
self.label2 = tk.Label(self.panel_right, text="點檢人")
self.label2.grid(row=2, column=0, padx=5, pady=5)
self.combobox2 = tk.ttk.Combobox(self.panel_right, values=values)
self.combobox2.grid(row=2, column=1, padx=5, pady=5)
self.combobox2.current(0)
```
这样,三个标签与下拉框就可以横向排列了。
# 创建右侧面板 self.panel_right = tk.Frame(master) self.panel_right.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # 创建Frame来包含标签和文本框 text_frame = tk.Frame(self.panel_right) text_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # 创建文本框 self.textbox = tk.Text(text_frame) self.textbox.pack(side=tk.TOP, fill=tk.BOTH, expand=True) # 创建标签和下拉框 ri = datetime.datetime.now().strftime('%Y/%m/%d') values = [ri] self.label1 = tk.Label(text_frame, text="點檢日期") self.label1.pack(side=tk.LEFT, padx=5, pady=5) self.combobox1 = tk.ttk.Combobox(text_frame, values=[values]) self.combobox1.pack(side=tk.LEFT, padx=5, pady=5) self.combobox1.current(0) ri1 = datetime.datetime.now().strftime('%H:%M:%S') values3 = [ri1] self.label3 = tk.Label(text_frame, text="點檢人") self.label3.pack(side=tk.LEFT, padx=5, pady=5) self.combobox3 = tk.ttk.Combobox(text_frame, values=values3) self.combobox3.pack(side=tk.LEFT, padx=5, pady=5) self.combobox3.current(0)將標簽和下拉輸入框放到文本框上方
可以将文本框和标签/下拉框分别放到两个 Frame 中,然后将这两个 Frame 放到 self.panel_right 中即可。例如:
```
# 创建右侧面板
self.panel_right = tk.Frame(master)
self.panel_right.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
# 创建Frame来包含标签和下拉框
input_frame = tk.Frame(self.panel_right)
input_frame.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)
# 创建标签和下拉框
ri = datetime.datetime.now().strftime('%Y/%m/%d')
ri1 = datetime.datetime.now().strftime('%H:%M:%S')
self.label1 = tk.Label(input_frame, text="點檢日期")
self.label1.pack(side=tk.LEFT, padx=5, pady=5)
self.combobox1 = tk.ttk.Combobox(input_frame, values=[ri])
self.combobox1.pack(side=tk.LEFT, padx=5, pady=5)
self.combobox1.current(0)
self.label3 = tk.Label(input_frame, text="點檢人")
self.label3.pack(side=tk.LEFT, padx=5, pady=5)
self.combobox3 = tk.ttk.Combobox(input_frame, values=[ri1])
self.combobox3.pack(side=tk.LEFT, padx=5, pady=5)
self.combobox3.current(0)
# 创建文本框
text_frame = tk.Frame(self.panel_right)
text_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
self.textbox = tk.Text(text_frame)
self.textbox.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
```
这样,标签和下拉框会在一行中显示,位于文本框上方,而且在放大窗口时也会自动跟随变化。
阅读全文